home *** CD-ROM | disk | FTP | other *** search
/ System Booster / System Booster.iso / Archives / GNU / GNUPLOTdoc.lha / docs / gnuplot.doc < prev    next >
Encoding:
Text File  |  1996-01-30  |  174.2 KB  |  4,679 lines

  1. ^ <h2> An Interactive Plotting Program </h2><p>
  2. ^ <h2>  Thomas Williams & Colin Kelley</h2><p>
  3. ^ <h2>   Version 3.6 organized by: David Denholm </h2><p>
  4. ^   Major contributors (alphabetic order):</h2>
  5. ^<ul><h3>
  6. ^<li>  John Campbell
  7. ^<li>  Robert Cunningham
  8. ^<li>  David Denholm
  9. ^<li>  Gershon Elber
  10. ^<li>  Roger Fearick
  11. ^<li>  Carsten Grammes
  12. ^<li>  Thomas Koenig
  13. ^<li>  David Kotz
  14. ^<li>  Ed Kubaitis
  15. ^<li>  Russell Lang
  16. ^<li>  Alexander Lehmann
  17. ^<li>  Carsten Steger
  18. ^<li>  Tom Tkacik
  19. ^<li>  Jos Van der Woude
  20. ^<li>  Alex Woo
  21. ^</h3></ul> <p>
  22. ^<h2>  Copyright (C) 1986 - 1995   Thomas Williams, Colin Kelley<p>
  23. ^   Mailing list for comments: info-gnuplot@dartmouth.edu <p>
  24. ^   Mailing list for bug reports: bug-gnuplot@dartmouth.edu<p>
  25. ^</h2><p>
  26. ^<h3> This manual is for `gnuplot` version 3.6
  27. ^<li> prepared by: Dick Crawford </h3><p>
  28. ^<hr>
  29. ^<address> <a href="http://playfair.stanford.edu/~woo/woo.html">Alex Woo, woo@playfair.stanford.edu </a></address>
  30. 1 gnuplot
  31. ?
  32.  `gnuplot` is a command-driven interactive function and data plotting program.
  33.  
  34.  For help on any topic, type `help` followed by the name of the topic.  If the
  35.  precise name of the topic is not known, type `help` and a menu will be given.
  36.  Typing a question mark `?` after any `help` prompt will cause the menu to be
  37.  listed again.
  38.  
  39.  The new `gnuplot` user should begin by reading the `introduction` topic (see
  40.  `help introduction`) and the `plot` topic (see `help plot`).  Additional help
  41.  can be obtained from the USENET newsgroup comp.graphics.apps.gnuplot.
  42.  
  43. 2 copyright
  44. ?copyright
  45.       Copyright (C) 1986 - 1993   Thomas Williams, Colin Kelley
  46.  
  47.  Permission to use, copy, and distribute this software and its documentation
  48.  for any purpose with or without fee is hereby granted, provided that the
  49.  above copyright notice appears in all copies and that both that copyright
  50.  notice and this permission notice appear in supporting documentation.
  51.  
  52.  Permission to modify the software is granted, but not the right to distribute
  53.  the modified code.  Modifications are to be distributed as patches to the
  54.  released version.
  55.  
  56.  This software is provided "as is" without express or implied warranty.
  57.  
  58.  
  59.    AUTHORS
  60.  
  61.      Original Software:
  62.        Thomas Williams,  Colin Kelley.
  63.  
  64.      Gnuplot 2.0 additions:
  65.          Russell Lang, Dave Kotz, John Campbell.
  66.  
  67.      Gnuplot 3.0 additions:
  68.          Gershon Elber and many others.
  69.  
  70. 2 seeking-assistance
  71. ?seeking-assistance
  72.  There is a mailing list for `gnuplot` users.  Note, however, that the
  73.  newsgroup
  74.          comp.graphics.apps.gnuplot
  75.  is identical to the mailing list (they both carry the same set of messages).
  76.  We prefer that you read the messages through the newsgroup rather than
  77.  subscribing to the mailing list.  Administrative requests should be sent to
  78.     majordomo@dartmouth.edu
  79.  Send a message with the body (not the subject) consisting of the single word
  80.  "help" (without the quotes) for more details.
  81.  
  82.  The address for mailing to list members is:
  83.    info-gnuplot@dartmouth.edu
  84.  
  85.  Bug reports and code contributions should be mailed to:
  86.    bug-gnuplot@dartmouth.edu
  87.  
  88.  The list of those interested in beta-test versions is:
  89.    info-gnuplot-beta@dartmouth.edu
  90.  
  91.  There is also a World Wide Web page with up-to-date information, including
  92.  known bugs:
  93.     http://www.cs.dartmouth.edu/gnuplot
  94.  
  95.  Before seeking help, please check the FAQ (Frequently Asked Questions) list.
  96.  If you do not have a copy of the FAQ, you may request a copy by email from
  97.  the Majordomo address above, or see the WWW `gnuplot` page.
  98.  
  99.  When posting a question, please include full details of the version of
  100.  `gnuplot`, the machine, and operating system you are using.  A _small_ script
  101.  demonstrating the problem may be useful.  Function plots are preferable to
  102.  datafile plots.  If email-ing to info-gnuplot, please state whether or not
  103.  you are subscribed to the list, so that users who use news will know to email
  104.  a reply to you.  There is a form for such postings on the WWW site.
  105. 2 introduction
  106. ?introduction
  107.  `gnuplot` is a command-driven interactive function plotting program.  It is
  108.  case sensitive (commands and function names written in lowercase are not the
  109.  same as those written in CAPS).  All command names may be abbreviated, as
  110.  long as the abbreviation is not ambiguous.  Any number of commands may appear
  111.  on a line, separated by semicolons (;).  Strings are indicated with quotes.
  112.  They may be either single or double quotation marks, e.g.,
  113.  
  114.           load "filename"
  115.           cd 'dir'
  116.  
  117.  although there are some subtle differences (see `syntax` for more details).
  118.  
  119.  Any command-line arguments are assumed to be names of files containing
  120.  `gnuplot` commands, with the exception of standard X11 arguments, which are
  121.  processed first.  Each file is loaded with the `load` command, in the order
  122.  specified.  `gnuplot` exits after the last file is processed.  When no load
  123.  files are named, `gnuplot` enters into an interactive mode.
  124.  
  125.  Commands may extend over several input lines by ending each line but the last
  126.  with a backslash (\).  The backslash must be the LAST character on each line.
  127.  The effect is as if the backslash and newline were not there.  That is, no
  128.  white space is implied, nor is a comment terminated.  Therefore, commenting
  129.  out a continued line comments out the entire command (see `comment`).
  130.  
  131.  In this documentation, curly braces ({}) denote optional arguments and a
  132.  vertical bar (|) separates mutually exclusive choices.  `gnuplot` keywords
  133.  or help topics are indicated by backquotes or `boldface` (where available).
  134.  Angle brackets (<>) are used to mark replaceable tokens.
  135.  
  136.  For help on any topic, type `help` followed by the name of the topic or just
  137.  `help` to get a menu of available topics.
  138.  
  139.  The new `gnuplot` user should begin by reading about the `plot` command (type
  140.  `help plot`).
  141. ^ <a href=simple/simple.html> Simple Plots Demo </a>
  142. 2 cd
  143. ?cd
  144.  The `cd` command changes the working directory.
  145.  
  146.  Syntax:
  147.          cd '<directory-name>'
  148.  
  149.  The directory name must be enclosed in quotes.
  150.  
  151.  Examples:
  152.          cd 'subdir'
  153.          cd ".."
  154.  
  155.  DOS users _must_ use single-quotes---backslash [\] has special significance
  156.  inside double-quotes.  For example,
  157.  
  158.          cd "c:\newdata"      fails, but
  159.          cd 'c:\newdata'      works as expected.
  160. 2 call
  161. ?call
  162.  The `call` command is identical to the load command with one exception: you
  163.  can have up to ten additional parameters to the command (delimited according
  164.  to the standard parser rules) which can be substituted into the lines read
  165.  from the file.  As each line is read from the `call`ed input file, it is
  166.  scanned for the sequence `$` (dollar-sign) followed by a digit (0--9).  If
  167.  found, the sequence is replaced by the corresponding parameter from the
  168.  `call` command line.  If the parameter was specified as a string in the
  169.  `call` line, it is substituted without its enclosing quotes.  `$` followed by
  170.  any character other than a digit will be that character.  E.g. use `$$` to
  171.  get a single `$`.  Providing more than ten parameters on the `call` command
  172.  line will cause an error.  A parameter that was not provided substitutes as
  173.  nothing.  Files being `call`ed may themselves contain `call` or `load`
  174.  commands.
  175.  
  176.  The `call` command MUST be the last command on a multi-command line.
  177.  
  178.  Syntax:
  179.          call "<input-file>" <parameter-0> <parm-1> ... <parm-9>
  180.  
  181.  The name of the input file must be enclosed in quotes, and it is recommended
  182.  that parameters are similarly enclosed in quotes.
  183.  
  184.  Example:
  185.  
  186.  If the file 'calltest.gp' contains the line:
  187.  
  188.      pause 0 "p0=$0 p1=$1 p2=$2 p3=$3 p4=$4 p5=$5 p6=$6 p7=x$7x"
  189.  
  190.  entering the command:
  191.  
  192.      call 'calltest.gp' "abcd" 1.2 + "'quoted'" -- "$2"
  193.  
  194.  will display:
  195.  
  196.      p0=abcd p1=1.2 p2=+ p3='quoted' p4=- p5=- p6=$2 p7=xx
  197.  
  198.  NOTE: there is a clash in syntax with the datafile `using` callback
  199.  operator.  Use $$n to access column n from a datafile inside a `call`ed
  200.  datafile plot.
  201. 2 clear
  202. ?clear
  203.  The `clear` command erases the current screen or output device as specified
  204.  by `set output`.  This usually generates a formfeed on hardcopy devices.  Use
  205.  `set terminal` to set the device type.
  206. 2 command-line-editing
  207. ?line-editing
  208. ?editing
  209. ?history
  210. ?command-line-editing
  211.  Command-line editing is supported by the Unix, Atari, VMS, MS-DOS and OS/2
  212.  versions of `gnuplot`.  Also, a history mechanism allows previous commands to
  213.  be edited and re-executed.  After the command line has been edited, a newline
  214.  or carriage return will enter the entire line without regard to where the
  215.  cursor is positioned.
  216.  
  217.  The editing commands are as follows:
  218.  
  219. @start table - first is interactive cleartext form
  220.   `Line-editing`:
  221.  
  222.   ^B moves back a single character.
  223.   ^F moves forward a single character.
  224.   ^A moves to the beginning of the line.
  225.   ^E moves to the end of the line.
  226.   ^H and DEL delete the previous character.
  227.   ^D deletes the current character.
  228.   ^K deletes from current position to the end of line.
  229.   ^L,^R redraws line in case it gets trashed.
  230.   ^U deletes the entire line.
  231.   ^W deletes the last word.
  232.  
  233.   `History`:
  234.  
  235.   ^P moves back through history.
  236.   ^N moves forward through history.
  237. #Character && Function \\ \hline
  238. #\multicolumn{3}{|c|}{Line Editing}\\
  239. #\verb~^B~ && move back a single character.\\
  240. #\verb~^F~ && move forward a single character.\\
  241. #\verb~^A~ && move to the beginning of the line.\\
  242. #\verb~^E~ && move to the end of the line.\\
  243. #\verb~^H, DEL~ && delete the previous character.\\
  244. #\verb~^D~ && delete the current character.\\
  245. #\verb~^K~ && delete from current position to the end of line.\\
  246. #\verb~^L, ^R~ && redraw line in case it gets trashed.\\
  247. #\verb~^U~ && delete the entire line. \\
  248. #\verb~^W~ && delete from the current word to the end of line. \\ \hline
  249. #\multicolumn{3}{|c|}{History} \\
  250. #\verb~^P~ && move back through history.\\
  251. #\verb~^N~ && move forward through history.\\
  252. %Character@@Function
  253. %_
  254. %@@Line Editing
  255. %^B@@move back a single character.
  256. %^F@@move forward a single character.
  257. %^A@@move to the beginning of the line.
  258. %^E@@move to the end of the line.
  259. %^H, DEL@@delete the previous character.
  260. %^D@@delete the current character.
  261. %^K@@delete from current position to the end of line.
  262. %^L, ^R@@redraw line in case it gets trashed.
  263. %^U@@delete the entire line.
  264. %^W@@delete from the current word to the end of line.
  265. %_
  266. %@@History
  267. %^P@@move back through history.
  268. %^N@@move forward through history.
  269. @end table
  270.  
  271.  On the IBM PC, the use of a TSR program such as DOSEDIT or CED may be desired
  272.  for line editing.  The default makefile assumes that this is the case;  by
  273.  default `gnuplot` will be compiled with no line-editing capability.  If you
  274.  want to use `gnuplot`'s line editing, set READLINE in the makefile and add
  275.  readline.obj to the link file.  The following arrow keys may be used on the
  276.  IBM PC and Atari versions if readline is used:
  277.  
  278. @start table - first is interactive cleartext form
  279.   Left  Arrow      - same as ^B.
  280.   Right Arrow      - same as ^F.
  281.   Ctrl Left  Arrow - same as ^A.
  282.   Ctrl Right Arrow - same as ^E.
  283.   Up    Arrow      - same as ^P.
  284.   Down  Arrow      - same as ^N.
  285. #Arrow key  & Function & \\ \hline
  286. #Left       & same as \verb~^B~. & \\
  287. #Right      & same as \verb~^F~. & \\
  288. #Ctrl Left  & same as \verb~^A~. & \\
  289. #Ctrl Right & same as \verb~^E~. & \\
  290. #Up         & same as \verb~^P~. & \\
  291. #Down       & same as \verb~^N~. & \\
  292. %Arrow key@@Function
  293. %_
  294. %Left Arrow@@same as ^B.
  295. %Right Arrow@@same as ^F.
  296. %Ctrl Left Arrow@@same as ^A.
  297. %Ctrl Right Arrow@@same as ^E.
  298. %Up Arrow@@same as ^P.
  299. %Down Arrow@@same as ^N.
  300. %_
  301. @end table
  302.  
  303.  The Atari version of readline defines some additional key aliases:
  304.  
  305. @start table - first is interactive cleartext form
  306.   Undo            - same as ^L.
  307.   Home            - same as ^A.
  308.   Ctrl Home       - same as ^E.
  309.   Esc             - same as ^U.
  310.   Help            - `help' plus return.
  311.   Ctrl Help       - `help '.
  312. #Arrow key & Function & \\ \hline
  313. #Undo      & same as \verb~^L~. & \\
  314. #Home      & same as \verb~^A~. & \\
  315. #Ctrl Home & same as \verb~^E~. & \\
  316. #Esc       & same as \verb~^U~. & \\
  317. #Help      & `{\bf help}' plus return. & \\
  318. #Ctrl Help & `{\bf help }'. & \\
  319. %Arrow key@@Function
  320. %_
  321. %Undo@@same as ^L.
  322. %Home@@same as ^A.
  323. %Ctrl Home@@same as ^E.
  324. %Esc@@same as ^U.
  325. %Help@@help plus return.
  326. %Ctrl Help@@help .
  327. %_
  328. @end table
  329.  
  330.  (The readline function in `gnuplot` is not the same as the readline used in
  331.  GNU Bash and GNU Emacs.  It is somewhat compatible, however.)
  332. 2 comment
  333. ?comments
  334.  Comments are supported as follows: a # may appear in most places in a line
  335.  and `gnuplot` will ignore the rest of the line.  It will not have this effect
  336.  inside quotes, inside numbers (including complex numbers), inside command
  337.  substitutions, etc.  In short, it works anywhere it makes sense to work.
  338. 2 environment
  339. ?environment
  340.  A number of shell environment variables are understood by `gnuplot`.  None of
  341.  these are required, but may be useful.
  342.  
  343.  If GNUTERM is defined, it is used as the name of the terminal type to be
  344.  used.  This overrides any terminal type sensed by `gnuplot` on start-up, but
  345.  is itself overridden by the .gnuplot (or equivalent) start-up file (see
  346.  `start-up`) and, of course, by later explicit changes.
  347.  
  348.  On Unix, AmigaDOS, AtariTOS, MS-DOS and OS/2, GNUHELP may be defined to be
  349.  the pathname of the HELP file (gnuplot.gih).
  350.  
  351.  On VMS, the logical name gnuplot$HELP should be defined as the name of the
  352.  help library for `gnuplot`.  The `gnuplot` help can be put inside any system
  353.  help library, allowing access to help from both within and outside `gnuplot`
  354.  if desired.
  355.  
  356.  On Unix, HOME is used as the name of a directory to search for a .gnuplot
  357.  file if none is found in the current directory.  On AmigaDOS, AtariTOS,
  358.  MS-DOS and OS/2, `gnuplot` is used.  On VMS, SYS$LOGIN: is used. See `help
  359.  start-up`.
  360.  
  361.  On Unix, PAGER is used as an output filter for help messages.
  362.  
  363.  On Unix, AtariTOS and AmigaDOS, SHELL is used for the `shell` command.  On
  364.  MS-DOS and OS/2, COMSPEC is used for the `shell` command.
  365.  
  366.  On MS-DOS, if the BGI interface is used, the variable `BGI` is used to point
  367.  to the full path of the BGI drivers directory.  Furthermore, SVGA is used to
  368.  name the Super VGA BGI driver in 800x600 resolution and its mode of operation
  369.  as 'Name.Mode'.  E.g., if the Super VGA driver is C:\TC\BGI\SVGADRV.BGI and
  370.  mode 3 is used for 800x600 resolution, then use 'set BGI=C:\TC\BGI' and 'set
  371.  SVGA=SVGADRV.3'.
  372.  
  373.  FIT_SCRIPT may be used to specify a `gnuplot` command to be executed when a
  374.  fit is interrupted---see `fit`.  FIT_LOG specifies the filename of the
  375.  logfile maintained by fit.
  376. 2 exit
  377. ?exit
  378. ?quit
  379.  The commands `exit` and `quit` and the END-OF-FILE character will exit
  380.  `gnuplot`.  Each of these commands will clear the output device (as does
  381.  the `clear` command) before exiting.
  382. 2 expressions
  383. ?expressions
  384.  In general, any mathematical expression accepted by C, FORTRAN, Pascal, or
  385.  BASIC is valid.  The precedence of these operators is determined by the
  386.  specifications of the C programming language.  White space (spaces and tabs)
  387.  is ignored inside expressions.
  388.  
  389.  Complex constants are expressed as {<real>,<imag>}, where <real> and <imag>
  390.  must be numerical constants.  For example, {3,2} represents 3 + 2i; {0,1}
  391.  represents `i` itself.  The curly braces are explicitly required here.
  392.  
  393.  Note that gnuplot uses both "real" and "integer" arithmetic, like FORTRAN and
  394.  C.  Integers are entered as "1", "-10", etc; reals as "1.0", "-10.0", "1e1",
  395.  3.5e-1, etc.  The most important difference between the two forms is in
  396.  division: division of integers truncates: 5/2 = 1; division of reals does
  397.  not: 5.0/2.0 = 2.5.  In mixed expressions, integers are "promoted" to reals
  398.  before evaluation: 5/2e1 = 2.5.  The result of division of a negative integer
  399.  by a positive one may vary among compilers.  Try a test like "print -5/2" to
  400.  determine if your system chooses -2 or -3 as the answer.
  401.  
  402.  The real and imaginary parts of complex expressions are always real, whatever
  403.  the form in which they are entered: in {3,2} the "3" and "2" are reals, not
  404.  integers.
  405. 3 functions
  406. ?expressions functions
  407. ?functions
  408.  The functions in `gnuplot` are the same as the corresponding functions in
  409.  the Unix math library, except that all functions accept integer, real, and
  410.  complex arguments, unless otherwise noted.  The `sgn` function is also
  411.  supported, as in BASIC.
  412. @start table
  413. #Function & Arguments & Returns \\ \hline
  414. %Function@Arguments@Returns
  415. %_
  416. 4 abs
  417. ?expressions functions abs
  418. ?functions abs
  419. ?abs
  420. #abs(x) & any  &  absolute value of {\tt x}, $|x|$; same type \\
  421. #abs(x) & complex &  length of {\tt x}, $\sqrt{{\mbox{real}(x)^{2} +
  422. #\mbox{imag}(x)^{2}}}$ \\
  423. %abs(x)@any@absolute value of x, $|x|$; same type
  424. %abs(x)@complex@length of x, $sqrt{roman real (x) sup 2 + roman imag (x) sup 2}$
  425.  The `abs` function returns the absolute value of its argument.  The returned
  426.  value is of the same type as the argument.
  427.  
  428.  For complex arguments, abs(x) is defined as the length of x in the complex
  429.  plane [i.e.,  sqrt(real(x)**2 + imag(x)**2) ].
  430. 4 acos
  431. ?expressions functions acos
  432. ?functions acos
  433. ?acos
  434. #acos(x) & any  & $\cos^{-1} x$ (inverse cosine) in radians \\
  435. %acos(x)@any@$cos sup -1 x$ (inverse cosine) in radians
  436.  The `acos` function returns the arc cosine (inverse cosine) of its argument.
  437.  `acos` returns its argument in radians.
  438. 4 arg
  439. ?expressions functions arg
  440. ?functions arg
  441. ?arg
  442. #arg(x) & complex & the phase of $x$ in radians\\
  443. %arg(x)@complex@the phase of $x$ in radians
  444.  The `arg` function returns the phase of a complex number, in radians.
  445. 4 asin
  446. ?expressions functions asin
  447. ?functions asin
  448. ?asin
  449. #asin(x) & any  & $\sin^{-1} x$ (inverse sin) in radians \\
  450. %asin(x)@any@$sin sup -1 x$ (inverse sin) in radians
  451.  The `asin` function returns the arc sin (inverse sin) of its argument.
  452.  `asin` returns its argument in radians.
  453. 4 atan
  454. ?expressions functions atan
  455. ?functions atan
  456. ?atan
  457. #atan(x) & any  & $\tan^{-1} x$ (inverse tangent) in radians \\
  458. %atan(x)@any@$tan sup -1 x$ (inverse tangent) in radians
  459.  The `atan` function returns the arc tangent (inverse tangent) of its
  460.  argument.  `atan` returns its argument in radians.
  461. 4 besj0
  462. ?expressions functions besj0
  463. ?functions besj0
  464. ?besj0
  465. #besj0(x) & radians &  $j_{0}$ Bessel function of $x$ \\
  466. %besj0(x)@radians@$j sub 0$ Bessel function of $x$
  467.  The `besj0` function returns the j0th Bessel function of its argument.
  468.  `besj0` expects its argument to be in radians.
  469. 4 besj1
  470. ?expressions functions besj1
  471. ?functions besj1
  472. ?besj1
  473. #besj1(x) & radians & $j_{1}$ Bessel function of $x$ \\
  474. %besj1(x)@radians@$j sub 1$ Bessel function of $x$
  475.  The `besj1` function returns the j1st Bessel function of its argument.
  476.  `besj1` expects its argument to be in radians.
  477. 4 besy0
  478. ?expressions functions besy0
  479. ?functions besy0
  480. ?besy0
  481. #besy0(x) & radians & $y_{0}$ Bessel function of $x$ \\
  482. %besy0(x)@radians@$y sub 0$ Bessel function of $x$
  483.  The `besy0` function returns the y0th Bessel function of its argument.
  484.  `besy0` expects its argument to be in radians.
  485. 4 besy1
  486. ?expressions functions besy1
  487. ?functions besy1
  488. ?besy1
  489. #besy1(x) & radians & $y_{1}$ Bessel function of $x$ \\
  490. %besy1(x)@radians@$y sub 1$ Bessel function of $x$
  491.  The `besy1` function returns the y1st Bessel function of its argument.
  492.  `besy1` expects its argument to be in radians.
  493. 4 ceil
  494. ?expressions functions ceil
  495. ?functions ceil
  496. ?ceil
  497. #ceil(x) & any & $\lceil x \rceil$, smallest integer not less than $x$
  498. #(real part) \\
  499. %ceil(x)@any@$left ceiling x right ceiling$, smallest integer not less than $x$ (real part)
  500.  The `ceil` function returns the smallest integer that is not less than its
  501.  argument.  For complex numbers, `ceil` returns the smallest integer not less
  502.  than the real part of its argument.
  503. 4 column
  504. ?expressions functions column
  505. ?functions column
  506. ?column
  507. #column(x) & int & column $x$ during datafile manipulation. \\
  508. %column(x)@int@ & column $x$ during datafile manipulation.
  509.  `column(x)` may be used only in expressions as part of `using` manipulations
  510.  to fits or datafile plots.  See `plot datafile using`.
  511. 4 cos
  512. ?expressions functions cos
  513. ?functions cos
  514. ?cos
  515. #cos(x) & radians & $\cos x$, cosine of $x$ \\
  516. %cos(x)@radians@$cos~x$, cosine of $x$
  517.  The `cos` function returns the cosine of its argument.  `cos` expects its
  518.  argument to be in radians.
  519. 4 cosh
  520. ?expressions functions cosh
  521. ?functions cosh
  522. ?cosh
  523. #cosh(x) & radians & $\cosh x$, hyperbolic cosine of $x$ \\
  524. %cosh(x)@radians@$cosh~x$, hyperbolic cosine of $x$
  525.  The `cosh` function returns the hyperbolic cosine of its argument.  `cosh`
  526.  expects its argument to be in radians.
  527. 4 erf
  528. ?expressions functions erf
  529. ?functions erf
  530. ?erf
  531. #erf(x) & any & $\mbox{Erf}(\mbox{real}(x))$,  error function of real($x$) \\
  532. %erf(x)@any@$erf ( roman real (x))$, error function of real ($x$)
  533.  The `erf` function returns the error function of the real part of its
  534.  argument.  If the argument is a complex value, the imaginary component is
  535.  ignored.
  536. 4 erfc
  537. ?expressions functions erfc
  538. ?functions erfc
  539. ?erfc
  540. #erfc(x) & any & $\mbox{Erfc}(\mbox{real}(x))$,  1.0 - error function of real($x$) \\
  541. %erfc(x)@any@$erfc ( roman real (x))$, 1.0 - error function of real ($x$)
  542.  The `erfc` function returns 1.0 - the error function of the real part of its
  543.  argument.  If the argument is a complex value, the imaginary component is
  544.  ignored.
  545. 4 exp
  546. ?expressions functions exp
  547. ?functions exp
  548. ?exp
  549. #exp(x) & any & $e^{x}$,  exponential function of $x$ \\
  550. %exp(x)@any@$e sup x$, exponential function of $x$
  551.  The `exp` function returns the exponential function of its argument (`e`
  552.  raised to the power of its argument).  On some implementations (notably
  553.  suns), exp(-x) returns undefined for very large x.  A user-defined function
  554.  like safe(x) = x<-100 ? 0 : exp(x) might prove useful in these cases.
  555. 4 floor
  556. ?expressions functions floor
  557. ?functions floor
  558. ?floor
  559. #floor(x) & any & $\lfloor x \rfloor$,  largest integer not greater
  560. #than $x$ (real part) \\
  561. %floor(x)@any@$left floor x right floor$, largest integer not greater than $x$ (real part)
  562.  The `floor` function returns the largest integer not greater than its
  563.  argument.  For complex numbers, `floor` returns the largest integer not
  564.  greater than the real part of its argument.
  565. 4 gamma
  566. ?expressions functions gamma
  567. ?functions gamma
  568. ?gamma
  569. #gamma(x) & any & $\mbox{Gamma}(\mbox{real}(x))$,  gamma function of real($x$) \\
  570. %gamma(x)@any@$GAMMA ( roman real (x))$, gamma function of real ($x$)
  571.  The `gamma` function returns the gamma function of the real part of its
  572.  argument.  For integer n, gamma(n+1) = n!.  If the argument is a complex
  573.  value, the imaginary component is ignored.
  574. 4 ibeta
  575. ?expressions functions ibeta
  576. ?functions ibeta
  577. ?ibeta
  578. #ibeta(p,q,x) & any & $\mbox{Ibeta}(\mbox{real}(p,q,x))$,  ibeta function of real($p$,$q$,$x$) \\
  579. %ibeta(p,q,x)@any@$Ibeta ( roman real (p,q,x))$, ibeta function of real ($p$,$q$,$x$)
  580.  The `ibeta` function returns the incomplete beta function of the real parts
  581.  of its arguments. p, q > 0 and x in [0:1].  If the arguments are complex,
  582.  the imaginary components are ignored.
  583. 4 inverf
  584. ?expressions functions inverf
  585. ?functions inverf
  586. ?inverf
  587. #inverf(x) & any &  inverse error function of real($x$)  \\
  588. %inverf(x)@any@inverse error function real($x$)
  589.  The `inverf` function returns the inverse error function of the real part
  590.  of its argument.
  591. 4 igamma
  592. ?expressions functions igamma
  593. ?functions igamma
  594. ?igamma
  595. #igamma(a,x) & any & $\mbox{Igamma}(\mbox{real}(a,x))$,  igamma function of real($a$,$x$) \\
  596. %igamma(a,x)@any@$Igamma ( roman real (a,x))$, igamma function of real ($a$,$x$)
  597.  The `igamma` function returns the incomplete gamma function of the real
  598.  parts of its arguments.  a > 0 and x >= 0.  If the arguments are complex,
  599.  the imaginary components are ignored.
  600. 4 imag
  601. ?expressions functions imag
  602. ?functions imag
  603. ?imag
  604. #imag(x) & complex &  imaginary part of $x$ as a real number \\
  605. %imag(x)@complex@imaginary part of $x$ as a real number
  606.  The `imag` function returns the imaginary part of its argument as a real
  607.  number.
  608. 4 invnorm
  609. ?expressions functions invnorm
  610. ?functions invnorm
  611. ?invnorm
  612. #invnorm(x) & any &  inverse normal distribution function of real($x$)  \\
  613. %invnorm(x)@any@inverse normal distribution function real($x$)
  614.  The `invnorm` function returns the inverse normal distribution function of
  615.  the real part of its argument.
  616. 4 int
  617. ?expressions functions int
  618. ?functions int
  619. ?int
  620. #int(x) & real &  integer part of $x$, truncated toward zero \\
  621. %int(x)@real@integer part of $x,$ truncated toward zero
  622.  The `int` function returns the integer part of its argument, truncated
  623.  toward zero.
  624. 4 lgamma
  625. ?expressions functions lgamma
  626. ?functions lgamma
  627. ?lgamma
  628. #lgamma(x) & any & $\mbox{Lgamma}(\mbox{real}(x))$,  lgamma function of real($x$) \\
  629. %lgamma(x)@any@$Lgamma ( roman real (x))$, lgamma function of real ($x$)
  630.  The `lgamma` function returns the natural logarithm of the gamma function
  631.  of the real part of its argument.  If the argument is a complex value, the
  632.  imaginary component is ignored.
  633. 4 log
  634. ?expressions functions log
  635. ?functions log
  636. ?log
  637. #log(x) & any & $\log_{e} x$,  natural logarithm (base $e$) of $x$ \\
  638. %log(x)@any@$ln~x$, natural logarithm (base $e$) of $x$
  639.  The `log` function returns the natural logarithm (base `e`) of its argument.
  640. 4 log10
  641. ?expressions functions log10
  642. ?functions log10
  643. ?log10
  644. #log10(x) & any & $\log_{10} x$,  logarithm (base $10$) of $x$ \\
  645. %log10(x)@any@${log sub 10}~x$, logarithm (base $10$) of $x$
  646.  The `log10` function returns the logarithm (base 10) of its argument.
  647. 4 norm
  648. ?expressions functions norm
  649. ?functions norm
  650. ?norm
  651. #norm(x) & any & normal distribution (Gaussian) function of real($x$) \\
  652. %norm(x)@any@$norm(x),$ normal distribution function of real($x$)
  653.  The `norm` function returns the normal distribution function (or Gaussian)
  654.  of the real part of its argument.
  655. 4 rand
  656. ?expressions functions rand
  657. ?functions rand
  658. ?rand
  659. #rand(x) & any & $\mbox{Rand}(\mbox{real}(x))$,  pseudo random number generator \\
  660. %rand(x)@any@$rand ( roman real (x))$, pseudo random number generator
  661.  The `rand` function returns a pseudo random number in the interval [0:1]
  662.  using the real part of its argument as a seed.  If seed < 0, the sequence
  663.  is (re)initialized.  If the argument is a complex value, the imaginary
  664.  component is ignored.
  665. 4 real
  666. ?expressions functions real
  667. ?functions real
  668. ?real
  669. #real(x) & any &  real part of $x$ \\
  670. %real(x)@any@real part of $x$
  671.  The `real` function returns the real part of its argument.
  672. 4 sgn
  673. ?expressions functions sgn
  674. ?functions sgn
  675. ?sgn
  676. #sgn(x) & any & 1 if $x>0$, -1 if $x<0$, 0 if $x=0$. imag($x$) ignored \\
  677. %sgn(x)@any@1 if $x > 0$, -1 if $x < 0$, 0 if $x = 0$. $roman imag (x)$ ignored
  678.  The `sgn` function returns 1 if its argument is positive, -1 if its argument
  679.  is negative, and 0 if its argument is 0.  If the argument is a complex value,
  680.  the imaginary component is ignored.
  681. 4 sin
  682. ?expressions functions sin
  683. ?functions sin
  684. ?sin
  685. #sin(x) & radians & $\sin x$, sine of $x$ \\
  686. %sin(x)@radians@$sin~x$, sine of $x$
  687.  The `sin` function returns the sine of its argument.  `sin` expects its
  688.  argument to be in radians.
  689. 4 sinh
  690. ?expressions functions sinh
  691. ?functions sinh
  692. ?sinh
  693. #sinh(x) & radians & $\sinh x$, hyperbolic sine $x$ \\
  694. %sinh(x)@radians@$sinh~x$, hyperbolic sine $x$
  695.  The `sinh` function returns the hyperbolic sine of its argument.  `sinh`
  696.  expects its argument to be in radians.
  697. 4 sqrt
  698. ?expressions functions sqrt
  699. ?functions sqrt
  700. ?sqrt
  701. #sqrt(x) & any & $\sqrt{x}$,  square root of $x$ \\
  702. %sqrt(x)@any@$sqrt x $, square root of $x$
  703.  The `sqrt` function returns the square root of its argument.
  704. 4 tan
  705. ?expressions functions tan
  706. ?functions tan
  707. ?tan
  708. #tan(x) & radians & $\tan x$,  tangent of $x$ \\
  709. %tan(x)@radians@$tan~x$, tangent of $x$
  710.  The `tan` function returns the tangent of its argument.  `tan` expects
  711.  its argument to be in radians.
  712. 4 tanh
  713. ?expressions functions tanh
  714. ?functions tanh
  715. ?tanh
  716. #tanh(x) & radians & $\tanh x$, hyperbolic tangent of $x$\\
  717. %tanh(x)@radians@$tanh~x$, hyperbolic tangent of $x$
  718.  The `tanh` function returns the hyperbolic tangent of its argument.  `tanh`
  719.  expects its argument to be in radians.
  720. 4 valid
  721. ?expressions functions valid
  722. ?functions valid
  723. ?valid
  724. #valid(x) & int & test validity of $\mbox{column}(x)$ during datafile manip.\\
  725. %valid(x)@int@ & test validity of column($x$) during datafile manip.
  726.  `valid(x)` may be used only in expressions as part of `using` manipulations
  727.  to fits or datafile plots.  See `plot datafile using`.
  728. @end table
  729. ^ <a href=airfoil/airfoil.html>Use of functions and complex variables for airfoils </a>
  730. 3 operators
  731. ?expressions operators
  732. ?operators
  733.  The operators in `gnuplot` are the same as the corresponding operators in the
  734.  C programming language, except that all operators accept integer, real, and
  735.  complex arguments, unless otherwise noted.  The ** operator (exponentiation)
  736.  is supported, as in FORTRAN.
  737.  
  738.  Parentheses may be used to change order of evaluation.
  739. 4 unary
  740. ?expressions operators unary
  741. ?operators unary
  742. ?unary
  743.  The following is a list of all the unary operators and their usages:
  744.  
  745. @start table - first is interactive cleartext form
  746.   Symbol     Example      Explanation
  747.    -           -a          unary minus
  748.    +           +a          unary plus (no-operation)
  749.    ~           ~a        * one's complement
  750.    !           !a        * logical negation
  751.    !           a!        * factorial
  752.    $           $3        * call arg/column during `using` manipulation
  753. #\multicolumn{3}{|c|}{Unary Operators}\\
  754. #Symbol & Example & Explanation \\ \hline
  755. #\verb@-@ & \verb@-a@ & unary minus \\
  756. #\verb@+@ & \verb@+a@ & unary plus (no-operation) \\
  757. #\verb@~@ & \verb@~a@ & * one's complement \\
  758. #\verb@!@ & \verb@!a@ & * logical negation \\
  759. #\verb@!@ & \verb@a!@ & * factorial \\
  760. #\verb@$@ & \verb@$3@ & * call arg/column during `using` manipulation \\
  761. %-@-a@unary minus
  762. %+@+a@unary plus (no-operation)
  763. %~@~a@* one's complement
  764. %!@!a@* logical negation
  765. %!@a!@* factorial
  766. %$@$3@* call arg/column during `using` manipulation
  767. @end table
  768.  (*) Starred explanations indicate that the operator requires an integer
  769.  argument.
  770.  
  771.  The factorial operator returns a real number to allow a greater range.
  772. 4 binary
  773. ?expressions operators binary
  774. ?operators binary
  775. ?binary
  776.  The following is a list of all the binary operators and their usages:
  777.  
  778. @start table - first is interactive cleartext form
  779.   Symbol      Example      Explanation
  780.    **          a**b          exponentiation
  781.    *           a*b           multiplication
  782.    /           a/b           division
  783.    %           a%b         * modulo
  784.    +           a+b           addition
  785.    -           a-b           subtraction
  786.    ==          a==b          equality
  787.    !=          a!=b          inequality
  788.    <           a<b           less than
  789.    <=          a<=b          less than or equal to
  790.    >           a>b           greater than
  791.    >=          a>=b          greater than or equal to
  792.    &           a&b         * bitwise AND
  793.    ^           a^b         * bitwise exclusive OR
  794.    |           a|b         * bitwise inclusive OR
  795.    &&          a&&b        * logical AND
  796.    ||          a||b        * logical OR
  797. #\multicolumn{3}{|c|}{Binary Operators} \\
  798. #Symbol & Example & Explanation \\ \hline
  799. #\verb~**~ & \verb~a**b~ & exponentiation\\
  800. #\verb~*~ & \verb~a*b~ & multiplication\\
  801. #\verb~/~ & \verb~a/b~ & division\\
  802. #\verb~%~ & \verb~a%b~ & * modulo\\
  803. #\verb~+~ & \verb~a+b~ & addition\\
  804. #\verb~-~ & \verb~a-b~ & subtraction\\
  805. #\verb~==~ & \verb~a==b~ & equality\\
  806. #\verb~!=~ & \verb~a!=b~ & inequality\\
  807. #\verb~<~ & \verb~a<b~ & less than\\
  808. #\verb~<=~ & \verb~a<=b~ & less than or equal to\\
  809. #\verb~>~ & \verb~a>b~ & greater than\\
  810. #\verb~>=~ & \verb~a>=b~ & greater than or equal to\\
  811. #\verb~&~ & \verb~a&b~ & * bitwise AND\\
  812. #\verb~^~ & \verb~a^b~ & * bitwise exclusive OR\\
  813. #\verb~|~ & \verb~a|b~ & * bitwise inclusive OR\\
  814. #\verb~&&~ & \verb~a&&b~ & * logical AND\\
  815. #\verb~||~ & \verb~a||b~ & * logical OR\\
  816. %Symbol@Example@Explanation
  817. %_
  818. %**@a**b@exponentiation
  819. %*@a*b@multiplication
  820. %/@a/b@division
  821. %%@a%b@* modulo
  822. %+@a+b@addition
  823. %-@a-b@subtraction
  824. %==@a==b@equality
  825. %!=@a!=b@inequality
  826. %&@a&b@* bitwise AND
  827. %^@a^b@* bitwise exclusive OR
  828. %|@a|b@* bitwise inclusive OR
  829. %&&@a&&b@* logical AND
  830. %||@a||b@* logical OR
  831.  
  832. @end table
  833.  (*) Starred explanations indicate that the operator requires integer
  834.  arguments.
  835.  
  836.  Logical AND (&&) and OR (||) short-circuit the way they do in C.  That is,
  837.  the second && operand is not evaluated if the first is false; the second ||
  838.  operand is not evaluated if the first is true.
  839. 4 ternary
  840. ?expressions operators ternary
  841. ?operators ternary
  842. ?ternary
  843.  There is a single ternary operator:
  844.  
  845. @start table - first is interactive cleartext form
  846.   Symbol      Example      Explanation
  847.    ?:          a?b:c       ternary operation
  848. #\multicolumn{3}{|c|}{Ternary Operator} \\
  849. #Symbol & Example & Explanation \\ \hline
  850. #\verb~?:~ & \verb~a?b:c~ & ternary operation\\
  851. %Symbol@Example@Explanation
  852. %_
  853. %?:@a?b:c@* ternary operation
  854.  
  855. @end table
  856.  The ternary operator behaves as it does in C.  The first argument (a), which
  857.  must be an integer, is evaluated.  If it is true (non-zero), the second
  858.  argument (b) is evaluated and returned; otherwise the third argument (c) is
  859.  evaluated and returned.
  860.  
  861.  The ternary operator is very useful both in constructing piecewise functions
  862.  and in plotting points only when certain conditions are met.
  863.  
  864.  Examples:
  865.  
  866.  Plot a function that is to equal sin(x) for 0 <= x < 1, 1/x for 1 <= x < 2,
  867.  and undefined elsewhere:
  868.  
  869.         f(x) = 0<=x & x<1 ? sin(x) : 1<=x & x<2 ? 1/x : 1/0
  870.         plot f(x)
  871.  
  872.  Note that `gnuplot` quietly ignores undefined values, so the final branch of
  873.  the function (1/0) will produce no plottable points.  Note also that it is
  874.  plotted as a continuous function across the discontinuity if a line style is
  875.  used.  If you want it to be plotted discontinuously, create separate
  876.  functions for the two pieces.
  877.  
  878.  For data in a file, plot the average of the data in columns 2 and 3 against
  879.  the datum in column 1, but only if the datum in column 4 is non-negative:
  880.  
  881.         plot 'file' using 1:( $4<0 ? 1/0 : ($2+$3)/2 )
  882.  
  883.  Please see `plot data-file using` for an explanation of the `using` syntax.
  884. 2 fit
  885. ?fit
  886.  This implementation incorporates the capability of nonlinear least squares
  887.  fitting using the Marquardt-Levenberg Algorithm.  It may fit any user-defined
  888.  function to any set of data pairs (x,y).  x, y and the function's return type
  889.  MUST be real!  Any variable occurring in the function body may serve as a fit
  890.  parameter (fitting functions without adjustable parameters make no sense).
  891.  
  892.  Syntax:
  893.          fit {range} <function> '<datafile>' {datafile-modifiers} \
  894.              via {'<parameter file>' | <var1>,<var2>,...}
  895.  
  896.  Notice that `via` is now a required keyword, to distinguish it from a scanf
  897.  format string.
  898.  
  899.  {[range]} is [ {variable=} { <min> } { :<max> } ], allowing the range of the
  900.  fit to be limited temporarily in a manner analogous to `plot`.  <function> is
  901.  any valid `gnuplot` expression, although it is usual to use a previously
  902.  user-defined function of the form f(x).  <datafile> is treated as in the
  903.  `plot` command.  All the modifiers for datafiles (`using`, `every`,...) in
  904.  `plot` are available here---see `plot datafile` for full details.  The
  905.  default column for x is 1 for y is 2.  They may be changed by the `using x:y`
  906.  mechanism.  If a third column or expression is specified with `using`,
  907.  uncertainties are read for each y value, to be used as weights during the
  908.  fit.  Otherwise all data are weighted equally.  The start parameters may be
  909.  specified in a (load-) file wherein each line is of the form:
  910.  
  911.     varname = value
  912.  
  913.  Comments, marked by '#', and blank lines are permissible.  The form
  914.  
  915.     varname = value       # FIXED
  916.  
  917.  means that the variable is treated as a `fixed parameter` that is initialized
  918.  but will not be adjusted.  It is not necessary (but sometimes useful for
  919.  clarity) to specify them at all.  The keyword '# FIXED' has to appear in
  920.  exactly this form.
  921.  
  922.  The other means of specifying the adjustable parameters is to provide a
  923.  comma-separated list of variable names after the `via` keyword.  If any of
  924.  these variables do not yet exist within the current `gnuplot` session, they
  925.  are created with an initial value of 1.0, but the fit is more likely to
  926.  converge if a more appropriate starting value is given.  If this form is
  927.  used, it may prove beneficial to iterate the fit, allowing only one or two
  928.  variables to be adjusted at a time until a reasonably close fit is obtained,
  929.  before allowing `fit` to vary all parameters.
  930.  
  931.  After each iteration step, detailed information is given about the fit's
  932.  state, both on the screen and on a logfile "fit.log".  This file will never
  933.  be erased but always appended to so that the fit's history isn't lost.  After
  934.  each iteration step, the fit may be interrupted by pressing Ctrl-C (any key
  935.  BUT Ctrl-C under MSDOS and Atari Multitasking Systems).  Then you have the
  936.  options of stopping (and accepting the current parameter values), continuing
  937.  the iteration of the fit, or executing a `gnuplot` command specified by an
  938.  environment variable FIT_SCRIPT.  A `plot` or `load` command may be useful in
  939.  this context.
  940.  
  941.  Special `gnuplot` variables:
  942.     FIT_INDEX  contains the current data point number during execution,
  943.                starting with 1.  You may use it in your fit function to
  944.                implement multiple-branch fits.
  945.     FIT_LIMIT  may be specified to change the default epsilon limit (1e-5).
  946.                When the sum of squared residuals changes between two iteration
  947.                steps by less than a factor of this number, the fit is
  948.                considered to have 'converged'.
  949.  
  950.  (FIT_SKIP was available in previous released of gnufit.  Its functionality
  951.  is now obtained using the `every` modifier for datafiles.)
  952.  
  953.  Environment variables:
  954.     FIT_LOG    changes the logfile's path from './fit.log' (write permission
  955.                is necessary).
  956.     FIT_SCRIPT specifies a command to be executed after an user interrupt.
  957.  
  958.  Examples:
  959.     f(x) = a*x**2 + b*x + c
  960.     fit f(x) 'measured.dat' via 'start.par'
  961.     fit f(x) 'measured.dat' using 3:($7-5) via 'start.par'
  962.     fit f(x) './data/trash.dat' using 1:2:3 via a, b, c
  963.  
  964.  SEE ALSO: `update`
  965. 2 help
  966. ?help
  967.  The `help` command displays on-line help. To specify information on a
  968.  particular topic use the syntax:
  969.  
  970.          help {<topic>}
  971.  
  972.  If <topic> is not specified, a short message is printed about `gnuplot`.
  973.  After help for the requested topic is given, a menu of subtopics is given;
  974.  help for a subtopic may be requested by typing its name, extending the help
  975.  request.  After that subtopic has been printed, the request may be extended
  976.  again or you may go back one level to the previous topic.  Eventually, the
  977.  `gnuplot` command line will return.
  978.  
  979.  If a question mark (?) is given as the topic, the list of topics currently
  980.  available is printed on the screen.
  981. 2 if
  982. ?if
  983.  The `if` command allows commands to be executed conditionally.
  984.  
  985.  Syntax:
  986.          if (<condition>) <command-line>
  987.  
  988.  <condition> will be evaluated.  If it is true (non-zero), then the command(s)
  989.  of the <command-line> will be executed.  If <condition> is false (zero), then
  990.  the entire <command-line> is ignored.  Note that use of ';' to allow multiple
  991.  commands on the same line will NOT end the conditionalized commands.
  992.  
  993.  Examples:
  994.  
  995.       pi=3
  996.       if (pi!=acos(-1)) pause 0 "?Fixing pi!";pi=acos(-1);show variables
  997.  
  998.  will display:
  999.  
  1000.       ?Fixing pi!
  1001.  
  1002.               Variables:
  1003.               pi = 3.14159
  1004.  but
  1005.       if (1==2) pause 0 "Never see this";pause 0 "Or this either"
  1006.  
  1007.  will not display anything.
  1008. 2 load
  1009. ?load
  1010.  The `load` command executes each line of the specified input file as if it
  1011.  had been typed in interactively.  Files created by the `save` command can
  1012.  later be `load`ed.  Any text file containing valid commands can be created
  1013.  and then executed by the `load` command.  Files being `load`ed may themselves
  1014.  contain `load` or `call` commands.  See `comment` for information about
  1015.  comments in commands.
  1016.  
  1017.  The `load` command MUST be the last command on a multi-command line.
  1018.  
  1019.  Syntax:
  1020.          load "<input-file>"
  1021.  
  1022.  The name of the input file must be enclosed in quotes.
  1023.  
  1024.  Examples:
  1025.  
  1026.          load 'work.gnu'
  1027.          load "func.dat"
  1028.  
  1029.  The `load` command is performed implicitly on any file names given as
  1030.  arguments to `gnuplot`.  These are loaded in the order specified, and
  1031.  then `gnuplot` exits.  See also `call`.
  1032. 2 pause
  1033. ?pause
  1034.  The `pause` command displays any text associated with the command and then
  1035.  waits a specified amount of time or until the carriage return is pressed.
  1036.  `pause` is especially useful in conjunction with `load` files.
  1037.  
  1038.  Syntax:
  1039.          pause <time> {"<string>"}
  1040.  
  1041.  <time> may be any integer constant or expression.  Choosing -1 will wait
  1042.  until a carriage return is hit, zero (0) won't pause at all, and a positive
  1043.  integer will wait the specified number of seconds.
  1044.  
  1045.  Note: Since `pause` is not part of the plot, it may interact with different
  1046.  device drivers differently (depending upon how text and graphics are mixed).
  1047.  
  1048.  Examples:
  1049.          pause -1    # Wait until a carriage return is hit
  1050.          pause 3     # Wait three seconds
  1051.          pause -1  "Hit return to continue"
  1052.          pause 10  "Isn't this pretty?  It's a cubic-spline."
  1053.  
  1054. 2 plot
  1055. ?plot
  1056. ?splot
  1057.  `plot` and `splot` are the primary commands of the program. They plot
  1058.  functions and data in many, many ways.  `plot` is used to plot 2-d
  1059.  functions and data, while `splot` plots 3-d surfaces and data.
  1060.  
  1061.  Syntax:
  1062.       plot {ranges} {<function> | {"<datafile>" {datafile-modifiers}}} \
  1063.               {title} {style} {, {second,} <function> {title} {style}...}
  1064.       splot {ranges} {<function> | {"<datafile>" {datafile-modifiers}}} \
  1065.               {title} {style} {, <function> {title} {style}...}
  1066.  
  1067.  where either a <function> or the name of a data file enclosed in quotes is
  1068.  supplied.  A function is a mathematical expression, or a pair (`plot`) or
  1069.  triple (`splot`) of mathematical expressions in the case of parametric
  1070.  functions.  It is also possible to insert user-defined function definitions
  1071.  and variable assignments into the list of plots.
  1072.  
  1073.  For `plot` there are two independent sets of axes available: the keywords
  1074.  `first` and `second` can be used to change the axes for which the following
  1075.  plots should be scaled.  `first` refers to the axes on the bottom and
  1076.  left; `second` to those on the top and right.  Ranges specified on the `plot`
  1077.  command apply only to the first set of axes.
  1078.  
  1079.  The `second` option has not been implemented for `splot`.
  1080.  
  1081.  `plot` and `splot` commands can be as simple as
  1082.  
  1083.          plot sin(x)
  1084.  
  1085.  and
  1086.  
  1087.          splot x * y
  1088.  
  1089.  or as complex as (!)
  1090.  
  1091.   plot [t=1:10] [-pi:pi*2] tan(t), "data.1" using 2:($3/$4) with lines, \
  1092.         f(x)=x**p, p=2, second, f(t) with points
  1093. 3 data-file
  1094. ?plot data-file
  1095. ?plot datafile
  1096. ?splot data-file
  1097. ?splot datafile
  1098. ?data-file
  1099. ?datafile
  1100. ?data
  1101.  Discrete data contained in a file can be displayed by specifying the name of
  1102.  the data file (enclosed in quotes) on the `plot` or `splot` command line.
  1103.  
  1104.  Syntax:
  1105.          plot '<file_name>' {binary} {index <index list>} \
  1106.           {every <every list>} {thru <thru list>} {using <using list>}
  1107.  
  1108.  The modifiers `binary`, `index`, `every`, `thru`, and `using` are discussed
  1109.  separately.  In brief, `index` selects which data sets in a multi-data-set
  1110.  file are to be plotted, `every` selects which lines within a single data set
  1111.  are to be plotted, `using` determines how the columns within a single line
  1112.  are to be interpreted, `thru` is a special case of `using`, and `binary` is a
  1113.  flag for `splot` indicating that the file is binary.
  1114.  
  1115.  Data files should contain one data point per line.  Lines beginning with #
  1116.  (or ! on VMS) will be treated as comments and ignored.  For `plot`s, each
  1117.  data point represents an (x,y) pair.  For `splot`s, each point is an (x,y,z)
  1118.  triple.  For `plot`s with error bars (see `set style errorbars`), each data
  1119.  point is (x,y,ydelta), (x,y,ylow,yhigh), (x,y,xdelta), (x,y,xlow,xhigh), or
  1120.  (x,y,xlow,xhigh,ylow,yhigh).  In all cases, the numbers on each line of a
  1121.  data file must be separated by white space (one or more blanks or tabs),
  1122.  unless a format specifier is provided by the `using` option.  This white
  1123.  space divides each line into columns.
  1124.  
  1125.  For `plot`s, only one column (the y value) need be provided.  For `splot`s,
  1126.  provide either one column (z) or three (x,y,z).  (It is no longer necessary
  1127.  to specify `parametric` mode for three-column splots.)  If x (and y) are
  1128.  omitted, `gnuplot` provides integer values starting at 0.
  1129.  
  1130.  In `s/plot` datafiles, blank lines (lines with no characters other than a
  1131.  line feed or carriage return) are significant---pairs of blank lines separate
  1132.  `index`es (see `plot datafile index`).  Data separated by double blank lines
  1133.  are treated as if they were in separate data files.
  1134.  
  1135.  Single blank lines separate points in a `plot`, or isolines in a `splot`.
  1136.  No line will join points separated by a blank line in either a `plot` or
  1137.  `splot`.  For `splot`, if all isolines (groups of contiguous points) are of
  1138.  equal length, `gnuplot` will draw cross-isolines in the opposite direction.
  1139.  This is termed "grid data", and is required for contouring (`set contour`)
  1140.  and hidden-line removal (`set hidden3d`).
  1141.  
  1142.  If autoscaling has been enabled (`set autoscale`), the axes are automatically
  1143.  extended to include all datapoints, with a whole number of tic marks if tics
  1144.  are being drawn.  This has two consequences: i) For `splot`, the corner of
  1145.  the surface may not coincide with the corner of the base.  In this case, no
  1146.  vertical line is drawn.  ii) When plotting data with the same x range on a
  1147.  dual-axis plot, the x co-ordinates may not coincide if the x2tics are not
  1148.  being drawn.  This is because the x axis has been autoextended to a whole
  1149.  number of tics, but the x2 axis has not.  The following example illustrates
  1150.  the problem:
  1151.  
  1152.        reset; plot first, '-', second, '-'
  1153.        1 1
  1154.        19 19
  1155.        e
  1156.        1 1
  1157.        19 19
  1158.        e
  1159. 4 binary
  1160. ?binary
  1161. ?binary data
  1162. ?binary files
  1163.  In previous versions, `gnuplot` dynamically detected binary data files.  It
  1164.  is now necessary to specify the keyword `binary` directly after the filename.
  1165.  Currently, binary data is supported only for `splot`, since a format for
  1166.  binary data in 2-d has not been designed.
  1167.  
  1168.  Single precision floats are stored in a binary file as follows:
  1169.  
  1170.        <ncols> <x0> <x1> <x2> ...
  1171.        <y0> <z0,0> <z0,1> <z0,2> ...
  1172.        <y1> <z1,0> <z1,1> <z1,2> ...
  1173.  
  1174.  which are converted into triplets:
  1175.  
  1176.        <x0> <y0> <z0,0>
  1177.        <x0> <y1> <z0,1>
  1178.        <x0> <y2> <z0,2>
  1179.  
  1180.        <x1> <y0> <z1,0>
  1181.        <x1> <y1> <z1,1>
  1182.        <x1> <y2> <z1,2>
  1183.  
  1184.  These triplets are then converted into `gnuplot` iso-curves and then
  1185.  `gnuplot` proceeds in the usual manner to do the rest of the plotting.
  1186.  
  1187.  A collection of matrix and vector manipulation routines (in C) is provided
  1188.  in `binary.c`.  The routine to write binary data is
  1189.  
  1190.   int fwrite_matrix(file,m,nrl,nrl,ncl,nch,row_title,column_title)
  1191.  
  1192.  An example of using these routines is provided in the file `bf_test.c`, which
  1193.  generates binary files for the demo file `demo/binary.dem`.
  1194.  
  1195.  The `index` keyword is not supported, since the file format allows only one
  1196.  surface per file.  The `every` and `using` filters are supported.  `using`
  1197.  operates as if the data were read in the above triplet form.
  1198. ^ <a href=binary/binary.html>Binary File Splot Demo.</a>
  1199. 4 every
  1200. ?plot data-file every
  1201. ?plot datafile every
  1202. ?splot data-file every
  1203. ?splot datafile every
  1204. ?every
  1205.  The `every` keyword allows a periodic sampling of a data set to be plotted.
  1206.  
  1207.  Syntax:
  1208.        plot 'file' every a{:b{:c{:d}}}
  1209.  
  1210.  This selects every a-th point in every b'th (iso)line, starting at point c in
  1211.  line d.  To plot a single line from a 3-d datafile, one trick is to set d to
  1212.  the required line, and set b very large, so that no subsequent lines will be
  1213.  selected.  If `every` is not specified, all points are plotted.
  1214.  
  1215.  Following C indexing, the first point (and the first isoline) are assigned
  1216.  the index 0.
  1217. ^ <a href=simple/simple.html>Simple Plot Demos </a>,
  1218. ^ <a href=surfacea/surfacea.html>Non-parametric splot demos </a>, and
  1219. ^ <a href=surfaceb/surfaceb.html>Parametric splot demos.</a>
  1220. 4 example
  1221. ?plot data-file example
  1222. ?plot datafile example
  1223. ?datafile example
  1224.  This example compares the data in the file population.dat to a theoretical
  1225.  curve:
  1226.  
  1227.          pop(x) = 103*exp((1965-x)/10)
  1228.          plot [1960:1990] 'population.dat', pop(x)
  1229.  
  1230.  The file population.dat might contain:
  1231.  
  1232.          # Gnu population in Antarctica since 1965
  1233.          1965   103
  1234.          1970   55
  1235.          1975   34
  1236.          1980   24
  1237.          1985   10
  1238.  
  1239.  
  1240.  
  1241.  A simple example of plotting a 3-d data file is
  1242.  
  1243.          splot 'glass.dat'
  1244.  
  1245.  where the file datafile.dat might contain:
  1246.  
  1247.          # The valley of the Gnu.
  1248.          0 0 10
  1249.          0 1 10
  1250.          0 2 10
  1251.  
  1252.          1 0 10
  1253.          1 1 5
  1254.          1 2 10
  1255.  
  1256.          2 0 10
  1257.          2 1 1
  1258.          2 2 10
  1259.  
  1260.          3 0 10
  1261.          3 1 0
  1262.          3 2 10
  1263.  
  1264.  Note datafile.dat defines a 4 by 3 grid ( 4 rows of 3 points each ).  Rows
  1265.  are separated by blank lines.
  1266.  
  1267.  Note also that the x value is held constant within each isoline.  If you
  1268.  instead keep y constant, and plot with hidden-line removal enabled, you will
  1269.  find that the surface is drawn 'inside-out'.
  1270.  
  1271.  Actually it is not necessary to keep the x values constant within an isoline,
  1272.  nor is it necessary to keep the y values the same along the perpendicular
  1273.  isolines.  `gnuplot` requires only that the number of points be the same
  1274.  along each isoline.
  1275. 4 index
  1276. ?plot data-file index
  1277. ?plot datafile index
  1278. ?splot data-file index
  1279. ?splot datafile index
  1280. ?index
  1281.  The `index` keyword allows only some of the data sets in a multi-data-set
  1282.  file to be plotted.
  1283.  
  1284.  Syntax:
  1285.       plot 'file' index m{{:n}:p}
  1286.  
  1287.  Data sets (surfaces for `splot`) are separated by pairs of blank lines.
  1288.  `index m` selects only set m; `index m:n` selects sets in the range m to n;
  1289.  and `index m:n:p` selects indices m, m+p, m+2p, etc., but stopping at n.
  1290.  Following C indexing, the index 0 is assigned to the first data set in
  1291.  the file.  Specifying too large an index results in an error message.  If
  1292.  `index` is not specified, all sets are plotted.
  1293.  
  1294.  Example:
  1295.           plot 'file' index 4:5
  1296. ^ <a href=multimsh/multimsh.html> splot with indices demo. </a>
  1297. 4 thru
  1298. ?plot data-file thru
  1299. ?plot datafile thru
  1300. ?splot data-file thru
  1301. ?splot datafile thru
  1302. ?thru
  1303.  The `thru` function is provided for backward compatibility.
  1304.  
  1305.  Syntax:
  1306.          plot 'file' thru f(x)
  1307.  
  1308.  It is equivalent to `plot 'file' using 1:(f($2))`.  While the latter appears
  1309.  more complex, it is much more flexible.
  1310.  
  1311.  The more natural
  1312.  
  1313.    plot 'file' thru f(y)
  1314.  
  1315.  also works (i.e. you can use y as the dummy variable).
  1316.  
  1317.  `thru` is parsed for `splot` and `fit` but has no effect.
  1318. 4 special-filenames
  1319. ?plot data-file special-filenames
  1320. ?plot datafile special-filenames
  1321. ?datafile special-filenames
  1322.  A special filename of `'-'` specifies that the data are inline; i.e., they
  1323.  follow the command.  Only the data follow the command; `plot` options like
  1324.  filters, titles, and line styles remain on the 'plot' command line.  This is
  1325.  similar to << in unix shell script, and $DECK in VMS DCL.  The data are
  1326.  entered as though they are being read from a file, one data point per record.
  1327.  The letter "e" at the start of the first column terminates data entry.  The
  1328.  `using` option can be applied to these data---using it to filter them through
  1329.  a function might make sense, but selecting columns probably doesn't!
  1330.  
  1331.  N.B.---use of
  1332.  
  1333.    plot '-' ; ... ; replot
  1334.  
  1335.  is not recommended---`gnuplot` does not store the inline data internally.
  1336.  Since `replot` appends new information to the previous `plot` and then
  1337.  executes the modified command, the `'-'` will ask once more for the data.
  1338.  `'-'` is intended for situations where it is useful to have data and commands
  1339.  together, e.g., when `gnuplot` is run as a sub-process of some front-end
  1340.  application.  Some of the demos, for example, might use this feature.
  1341.  
  1342.  A blank filename ('') specifies that the previous filename should be reused.
  1343.  This can be useful with things like
  1344.  
  1345.   plot 'a/very/very/long/filename' using 1:2, '' using 1:3, '' using 1:4
  1346.  
  1347.  On some computer systems with a popen function (Unix), the datafile can be
  1348.  piped through a shell command by starting the file name with a '<'.  For
  1349.  example
  1350.  
  1351.          pop(x) = 103*exp(-x/10)
  1352.          plot "< awk '{print $1-1965, $2}' population.dat", pop(x)
  1353.  
  1354.  would plot the same information as the first population example but with
  1355.  years since 1965 as the x axis.  If you want to execute this example, you
  1356.  have to delete all comments from the data file above or substitute the
  1357.  following command for the first part of the command above (the part up to
  1358.  the comma):
  1359.  
  1360.          plot "< awk '$0 !~ /^#/ {print $1-1965, $2}' population.dat"
  1361.  
  1362.  While this approach is most flexible, it is possible to achieve simple
  1363.  filtering with the `using` or `thru` keywords.
  1364. 4 using
  1365. ?plot data-file using
  1366. ?plot datafile using
  1367. ?splot data-file using
  1368. ?splot datafile using
  1369. ?using
  1370.  The most common datafile modifier is `using`.
  1371.  
  1372.  Syntax:
  1373.          plot 'file' using { spec:spec:... } {'format'}
  1374.  
  1375.  If a format is specified, each datafile line is read using the c library's
  1376.  scanf function, with the specified format string.  Otherwise the line is read
  1377.  and broken into columns at spaces or tabs.  A format cannot be specified if
  1378.  time-format data is being used  (see `set data time`).
  1379.  
  1380.  The resulting array of data is then sorted into columns according to the
  1381.  specs.  Each spec is either a simple column number, which selects the datum,
  1382.  or an expression enclosed in round brackets (parentheses).  The expression
  1383.  can use $1 to access the first item read, $2 for the second item, and so on.
  1384.  It can also use `column(x)` and `valid(x)` where x is an arbitrary expression
  1385.  resulting in an integer.  `column(x)` returns the x'th datum; `valid(x)`
  1386.  tests that datum x is a valid number.  A column number of 0 generates a
  1387.  number increasing (from zero) with each point, reset at double blank lines.
  1388.  
  1389.  `plot 'file' using 1` is identical to `plot 'file' using 0:1`.
  1390.  
  1391.  N.B.---the `call` command also uses $'s as a special character.
  1392.  
  1393.  The interpretation of the columns depends on the plot and style.  For
  1394.  `splot`, a single column is z, or three columns are (x,y,z) (unless `set
  1395.  mapping` has been used).  For `plot`, a single column is y.  For `plot` or
  1396.  `fit`, the first two columns are x and y; additional columns are usually
  1397.  errors in x and/or y.  See `set style` for more details about the structure
  1398.  of files containing error information.
  1399.  
  1400.  Examples:
  1401.  
  1402.  This creates a plot of the sum of the 2nd and 3rd data against the first:
  1403.  (The format string specifies comma- rather than space-separated columns.)
  1404.      plot 'file' using 1:($2+$3) '%lf,%lf,%lf'
  1405.  
  1406.  In this example the data are read from the file "MyData" using a more
  1407.  complicated format:
  1408.      plot "MyData" using "%*lf%lf%*20[^\n]%lf"
  1409.  
  1410.  The meaning of this format is:
  1411.  
  1412.        %*lf        ignore the first number
  1413.        %lf         read in the second and assign to x
  1414.        %*20[^\n]   ignore 20 non-newline characters
  1415.        %lf         read in the y value
  1416.  
  1417.  Note that the use of newline (\n) requires use of double-quotes rather than
  1418.  single-quotes.
  1419.  
  1420.  One trick is to use the ternary `?:` operator to filter data:
  1421.  
  1422.        plot 'file' using 1:($3>10 ? $2 : 1/0)
  1423.  
  1424.  which plots the datum in column two against that in column one provided
  1425.  the datum in column three exceeds ten.  `1/0` is undefined; `gnuplot`
  1426.  quietly ignores undefined points, so unsuitable points are suppressed.
  1427.  
  1428.  In fact, you can use a constant expression for the column number, provided
  1429.  it doesn't start with an opening bracket.  Something like
  1430.  
  1431.       `using 0+`(complicated expression)
  1432.  
  1433.  can be used.  The crucial point is that the expression is evaluated once if
  1434.  it doesn't start with a bracket, or once for each data point read if it does
  1435.  start with a bracket.
  1436.  
  1437.  If timeseries data are being used, the time can span multiple columns.  The
  1438.  starting column should be specified.  Note that the spaces within the time
  1439.  must be included when calculating starting columns for other data.  E.g., if
  1440.  the first element on a line is a time with an embedded space, the y value
  1441.  should be specified as column three.
  1442.  
  1443.  It should be noted that `plot 'file', plot 'file' using 1:2`, and `plot
  1444.  'file' using ($1):($2)` can be subtly different: 1) if `file` has some lines
  1445.  with one column and some with two, the first will invent x values when they
  1446.  are missing, the second will quietly ignore the lines with one column, and
  1447.  the third will store an undefined value for lines with one point (so that in
  1448.  a plot with lines, no line joins points across the bad point); 2) if a line
  1449.  contains text at the first column, the first will abort the plot on an error,
  1450.  but the second and third should quietly skip the garbage.
  1451.  
  1452.  In fact, it is often possible to plot a file with lots of lines of garbage at
  1453.  the top simply by specifying
  1454.  
  1455.     plot 'file' using 1:2
  1456.  
  1457.  If you want to leave text in your data files, it is always safe to put the
  1458.  comment character (#) in the first column of the text lines.
  1459. ^ <a href=using/using.html> Using Demos.</a>
  1460. 3 errorbars
  1461. ?plot errorbars
  1462. ?errorbars
  1463.  Error bars are supported for 2-d data file plots by reading one to
  1464.  four additional columns specifying ydelta or ylow and yhigh for
  1465.  yerrorbars or xdelta or xlow and xhigh for xerrorbars or xdelta, ydelta
  1466.  or xlow, xhigh, ylow, yhigh for xyerrorbars or boxxyerrorbars.
  1467.  No support exists for any error bars for `splot`s.
  1468.  
  1469.  In the default situation, `gnuplot` expects to see three, four, or six
  1470.  numbers on each line of the data file---either (x, y, ydelta),
  1471.  (x, y, ylow, yhigh), (x, y, xdelta), (x, y, xlow, xhigh),
  1472.  (x, y, xdelta, ydelta), or (x, y, xlow, xhigh, ylow, yhigh).  The
  1473.  x co-ordinate must be specified. The order of the numbers must be
  1474.  exactly as given above, though the `using` qualifier can manipulate
  1475.  the order and provide values for missing columns.  For example,
  1476.  
  1477.    plot 'file' with errorbars
  1478.    plot 'file' using 1:2:(sqrt($1)) with xerrorbars
  1479.    plot 'file' using 1:2:($1-$3):($1+$3):4:5 with xyerrorbars
  1480.  
  1481.  The last plot is for a file with an unsupported combination of relative
  1482.  x and absolute y errors. The `using` spec generates absolute x min and
  1483.  max from the relative error.
  1484.  
  1485.  The y error bar is a vertical line plotted from (x, ylow) to (x, yhigh).
  1486.  If ydelta is specified instead of ylow and yhigh, ylow = y - ydelta and
  1487.  yhigh = y + ydelta are derived.  If there are only two numbers on the line,
  1488.  yhigh and ylow are both set to y.  The x error bar is a horizontal line
  1489.  computed in the same fashion.  To get lines plotted between the data points,
  1490.  `plot` the data file twice, once with errorbars and once with lines.
  1491.  
  1492.  The error bar has crossbars at top and bottom unless `set bar small` is used.
  1493.  
  1494.  If autoscaling is on, the ranges will be adjusted to fit the error bars.
  1495. ^ <a href=errorbar/errorbar.html> Errorbar demos. </a>
  1496.  
  1497.  See `plot using`, `plot with`, and `set style` for more information.
  1498. 3 parametric
  1499. ?plot parametric
  1500. ?splot parametric
  1501. ?parametric
  1502.  When in parametric mode (`set parametric`) mathematical expressions must be
  1503.  given in pairs for `plot` and in triplets for `splot`:
  1504.  
  1505.          plot sin(t),t**2
  1506.  or
  1507.          splot cos(u)*cos(v),cos(u)*sin(v),sin(u)
  1508.  
  1509.  Data files are plotted as before, except any preceding parametric function
  1510.  must be fully specified before a data file is given as a plot.  In other
  1511.  words, the x parametric function (`sin(t)` above) and the y parametric
  1512.  function (`t**2` above) must not be interrupted with any modifiers or data
  1513.  functions; doing so will generate a syntax error stating that the parametric
  1514.  function is not fully specified.
  1515.  
  1516.  Ranges take on a different meaning when in parametric mode.  The first range
  1517.  on the `plot` command is the `trange`, the next is the `xrange`, and the last
  1518.  is the `yrange`.  For `splot` the order is `urange`, `vrange`, `xrange`,
  1519.  `yrange`, and finally `zrange`.  The following `plot` command shows setting
  1520.  the `trange` to [-pi:pi], the `xrange` to [-1.3:1.3] and the `yrange` to
  1521.  [-1:1] for the duration of the plot:
  1522.  
  1523.          plot [-pi:pi] [-1.3:1.3] [-1:1] sin(t),t**2
  1524.  
  1525.  Other modifiers, such as `with` and `title`, may be specified only after the
  1526.  parametric function has been completed:
  1527.  
  1528.          plot sin(t),t**2 title 'Parametric example' with linespoints
  1529. ^ <a href=param/param.html> Parametric Mode Demos. </a>
  1530. 3 ranges
  1531. ?splot ranges
  1532. ?plot ranges
  1533. ?ranges
  1534.  The optional ranges specify the region of the plot that will be displayed.
  1535.  
  1536.  Syntax:
  1537.          [{<dummy-var> =} {<xmin>} { : <xmax>}] { [{<ymin>} {: <ymax>}] }
  1538.  
  1539.  where <dummy-var> is the independent variable (the defaults are x and y,
  1540.  but these may be changed with `set dummy`) and the min and max terms can be
  1541.  constant expressions.
  1542.  
  1543.  * can be used to allow autoscaling of either of min and max.  See also
  1544.  `set autoscaling`
  1545.  
  1546.  Ranges specified on the `plot` or `splot` command line affect only that plot;
  1547.  use the `set xrange`, `set yrange`, etc., commands to change the default
  1548.  ranges for future plots.
  1549.  
  1550.  With time data, you must provide the range (in the same manner as the time
  1551.  appears in the datafile) within quotes.  `gnuplot` uses the `timefmt` string
  1552.  to read the value---see `set timefmt`.
  1553.  
  1554.  Examples:
  1555.  
  1556.  This uses the current ranges:
  1557.          plot cos(x)
  1558.  
  1559.  This sets the x range only:
  1560.          plot [-10:30] sin(pi*x)/(pi*x)
  1561.  
  1562.  This is the same, but uses t as the dummy-variable:
  1563.          plot [t = -10 :30]  sin(pi*t)/(pi*t)
  1564.  
  1565.  This sets both the x and y ranges:
  1566.          plot [-pi:pi] [-3:3]  tan(x), 1/x
  1567.  
  1568.  This sets only the y range, and turns off autoscaling on both axes:
  1569.          plot [ ] [-2:sin(5)*-8] sin(x)**besj0(x)
  1570.  
  1571.  This sets xmax and ymin only:
  1572.          plot [:200] [-pi:]  exp(sin(x))
  1573.  
  1574.  This sets the x, y, and z ranges:
  1575.          splot [0:3] [1:4] [-1:1] x*y
  1576.  
  1577.  This sets the x range for a timeseries (timefmt="%d/%m/%y %H:%M"):
  1578.          plot ["1/6/93 12:00":"5/6/93 12:00"] 'timedata.dat'
  1579. 3 style
  1580. ?plot style
  1581. ?splot style
  1582. ?style
  1583. ?plot with
  1584. ?with
  1585.  Functions and data may be displayed in one of a large number of styles.
  1586.  The `with` keyword provides the means of selection.
  1587.  
  1588.  Syntax:
  1589.          with <style> {<linetype> {<pointtype>}}
  1590.  
  1591.  where <style> is either `lines`, `points`, `linespoints`, `impulses`, `dots`,
  1592.  `steps`, `fsteps`,  `errorbars`, `xerrorbars`, `yerrorbars`, `xyerrorbars`,
  1593.  `boxes`, `boxerrorbars`, `boxxyerrorbars`, `splines`, `csplines`, `bezier`,
  1594.  `sbezier`, or `vector`.  A given style may not be appropriate for both 2-D
  1595.  and 3-D plots and may require additional information.  See `set style
  1596.  <style>` for details about each style.
  1597.  
  1598.  Default styles are chosen with the `set function style` and `set data style`
  1599.  commands.
  1600.  
  1601.  By default, each function and data file will use a different line type and
  1602.  point type, up to the maximum number of available types.  All terminal
  1603.  drivers support at least six different point types, and re-use them, in
  1604.  order, if more than six are required.  The LaTeX driver supplies an
  1605.  additional six point types (all variants of a circle), and thus will only
  1606.  repeat after twelve curves are plotted with points.  The PostScript drivers
  1607.  (`postscript`) supplies a total of sixty-four.
  1608.  
  1609.  If you wish to choose the line or point type, <linetype> and <pointtype> may
  1610.  be specified.  These are positive integer constants (or expressions) that
  1611.  specify the line type and point type to be used for the plot.
  1612.  
  1613.  Use `test` to display the types available for your terminal.
  1614.  
  1615.  Examples:
  1616.  
  1617.  This plots sin(x) with impulses:
  1618.          plot sin(x) with impulses
  1619.  
  1620.  This plots x*y with points, x**2 + y**2 default:
  1621.          splot x*y w points, x**2 + y**2
  1622.  
  1623.  This plots tan(x) with the default function style, "data.1" with lines:
  1624.          plot [ ] [-2:5] tan(x), "data.1" with l
  1625.  
  1626.  This plots "leastsq.dat" with impulses:
  1627.          plot 'leastsq.dat' w i
  1628.  
  1629.  This plots the data file 'population' with boxes:
  1630.          plot "population" with boxes
  1631.  
  1632.  This plots "exper.dat" with errorbars and lines connecting the points:
  1633.          plot 'exper.dat' w lines, 'exper.dat' w errorbars
  1634.  
  1635.  Here 'exper.dat' should have three or four data columns.
  1636.  
  1637.  This plots x**2 + y**2 and x**2 - y**2 with the same line type:
  1638.          splot x**2 + y**2 with line 1, x**2 - y**2 with line 1
  1639.  
  1640.  This plots sin(x) and cos(x) with linespoints, using the
  1641.  same line type but different point types:
  1642.          plot sin(x) with linesp 1 3, cos(x) with linesp 1 4
  1643.  
  1644.  This plots file "data" with points style 3:
  1645.          plot "data" with points 1 3
  1646.  Note that the line style must be specified when specifying the point
  1647.  style, even when it is irrelevant. Here the line style is 1 and the
  1648.  point style is 3, and the line style is irrelevant.
  1649.  
  1650.  See `set style` to change the default styles.
  1651. 3 title
  1652. ?plot title
  1653. ?splot title
  1654.  A title of each plot appears in the key.  By default the title is the
  1655.  function or file name as it appears on the plot command line.  The title
  1656.  can be changed by using the `title` option.  This option should precede
  1657.  any `with` option.
  1658.  
  1659.  Syntax:
  1660.          title "<title>" | notitle
  1661.  
  1662.  where <title> is the new title of the plot and must be enclosed in quotes.
  1663.  The quotes will not be shown in the key.  A special character may be given as
  1664.  a backslash followed by its octal value ("\345").  The tab character "\t" is
  1665.  understood.  Note that backslash processing occurs only for strings enclosed
  1666.  in double quotes---use single quotes to prevent such processing.
  1667.  
  1668.  Examples:
  1669.  
  1670.  This plots y=x with the title 'x':
  1671.          plot x
  1672.  
  1673.  This plots the "glass.dat" file with the title 'surface of revolution':
  1674.          splot "glass.dat" title 'surface of revolution'
  1675.  
  1676.  This plots x squared with title "x^2" and "data.1" with title 'measured
  1677.  data':
  1678.          plot x**2 title "x^2", "data.1" t 'measured data'
  1679.  
  1680.  The title can be omitted from the key by using the keyword `notitle`.  This
  1681.  can be useful when some curves are plotted solely for decoration.  For
  1682.  example, if one wanted a circular border for a polar plot, he could say:
  1683.  
  1684.  Example:
  1685.         set polar
  1686.         plot my_function(x), 1 notitle
  1687.  
  1688.  This would generate a key entry for "my_function" but not for "1".  See the
  1689.  poldat.dem example.  `title ''`  is equivalent to `notitle`.  `title ' '`
  1690.  can be used to have a sample with no text.
  1691. 2 print
  1692. ?print
  1693.  The `print` command prints the value of <expression> to the screen.
  1694.  
  1695.  Syntax:
  1696.          print <expression>
  1697.  
  1698.  See `expressions`.
  1699. 2 pwd
  1700. ?pwd
  1701.  The `pwd` command prints the name of the working directory to the screen.
  1702.  
  1703.  Syntax:
  1704.          pwd
  1705. 2 quit
  1706. ?quit
  1707.  The `exit` and `quit` commands and END-OF-FILE character will exit `gnuplot`.
  1708.  Each of these commands will clear the output device (as does the `clear`
  1709.  command) before exiting.
  1710. 2 replot
  1711. ?replot
  1712.  The `replot` command without arguments repeats the last `plot` or `splot`
  1713.  command.  This can be useful for viewing a plot with different `set`
  1714.  options, or when generating the same plot for several devices.
  1715.  
  1716.  Arguments specified after a `replot` command will be added onto the last
  1717.  `plot` or `splot` command (with an implied ',' separator) before it is
  1718.  repeated.  `replot` accepts the same arguments as the `plot` and `splot`
  1719.  commands except that ranges cannot be specified.  Thus you can use `replot`
  1720.  to plot a function against the second axes if the previous command was `plot`
  1721.  but not if it was `splot`, and similarly you can use `replot` to add a plot
  1722.  from a binary file only if the previous command was `splot`.
  1723.  
  1724.  N.B.---use of
  1725.  
  1726.    plot '-' ; ... ; replot
  1727.  
  1728.  is not recommended---`gnuplot` does not store the inline data internally.
  1729.  Since `replot` appends new information to the previous `plot` and then
  1730.  executes the modified command, the `'-'` will ask once more for the data.
  1731.  `'-'` is intended for situations where it is useful to have data and commands
  1732.  together, e.g., when `gnuplot` is run as a sub-process of some front-end
  1733.  application.  Some of the demos, for example, might use this feature.
  1734.  
  1735.  See `command-line-editing` for ways to edit the last `plot`
  1736.  (`splot`) command.
  1737. 2 reread
  1738. ?reread
  1739.  The `reread` command causes the current `gnuplot` command file, as specified
  1740.  by a `load` command or on the command line, to be reset to its starting
  1741.  point before further commands are read from it.  This essentially implements
  1742.  an endless loop of the commands from the beginning of the command file to
  1743.  the `reread` command.  The `reread` command has no effect if input from
  1744.  standard input.
  1745. ^ <a href=animate/animate.html> Reread Animation </a>
  1746. 2 reset
  1747. ?reset
  1748.  The `reset` command causes all options that can be set with the `set`
  1749.  command to take on their default values.  The only exceptions are that the
  1750.  terminal set with `set term` and the output file set with `set output` are
  1751.  left unchanged.  This command is useful, e.g., to restore the default
  1752.  settings at the end of a command file, or to return to a defined state after
  1753.  lots of settings have been changed within a command file.  Please refer to
  1754.  the `set` command to see the default values that the various options take.
  1755. 2 save
  1756. ?save
  1757.  The `save` command saves user-defined functions, variables, `set` options,
  1758.  or all three, plus the last `plot` (`splot`) command to the specified file.
  1759.  
  1760.  Syntax:
  1761.          save  {<option>} "<filename>"
  1762.  
  1763.  where <option> is `functions`, `variables` or `set`. If no option is used,
  1764.  `gnuplot` saves functions, variables, `set` options and the last `plot`
  1765.  (`splot`) command.
  1766.  
  1767.  `save`d files are written in text format and may be read by the `load`
  1768.  command.
  1769.  
  1770.  The filename must be enclosed in quotes.
  1771.  
  1772.  Examples:
  1773.  
  1774.          save "work.gnu"
  1775.          save functions 'func.dat'
  1776.          save var 'var.dat'
  1777.          save set "options.dat"
  1778. 2 set-show
  1779. ?set
  1780. ?show
  1781. ?show all
  1782.  The `set` command sets LOTS of options.
  1783.  
  1784.  The `show` command shows their settings.  `show all` shows all the
  1785.  settings.
  1786. 3 angles
  1787. ?set angles
  1788. ?show angles
  1789. ?angles
  1790. ?set angles degrees
  1791.  By default, `gnuplot` assumes the independent variable in polar plots is in
  1792.  units of radians.  If `set angles degrees` is specified before `set polar`,
  1793.  then the default range is [0:360] and the independent variable has units of
  1794.  degrees.  This is particularly useful for plots of data files.  The angle
  1795.  setting also applies to 3-d mapping as set via the `set mapping` command.
  1796.  
  1797.  Syntax:
  1798.          set angles { degrees | radians }
  1799.          show angles
  1800.  
  1801.  The angle specified in `set grid polar` is also read and displayed in the
  1802.  units specified by `set angles`.
  1803.  
  1804.  `set angles` has no effect on the arguments of machine-defined functions
  1805.  (sin(x), cosh(x), besj0(x), etc.); neither does it affect the result of
  1806.  inverse trigonometric functions, e.g. atan(x).  These are always given in
  1807.  radians.
  1808. 3 arrow
  1809. ?set arrow
  1810. ?set noarrow
  1811. ?show arrow
  1812. ?arrow
  1813. ?noarrow
  1814.  Arbitrary arrows can be placed on a plot using the `set arrow` command.
  1815.  
  1816.  Syntax:
  1817.           set arrow {<tag>} {from <position>} \
  1818.                             {to <position>} {{no}head} \
  1819.                             {<linestyle>}
  1820.           set noarrow {<tag>}
  1821.           show arrow
  1822.  
  1823.  
  1824.  Unspecified co-ordinates default to 0.  The endpoints can be specified in
  1825.  one of four co-ordinate systems---`first` or `second` axes, `graph` or
  1826.  `screen`.  See `set co-ordinates` for details.  Arrows outside the screen
  1827.  boundaries are permitted but may cause device errors.
  1828.  
  1829.  <tag> is an integer that identifies the arrow.  If no tag is given, the
  1830.  lowest unused tag value is assigned automatically.  The tag can be used to
  1831.  delete or change a specific arrow.  To change any attribute of an existing
  1832.  arrow, use the `set arrow` command with the appropriate tag and specify the
  1833.  parts of the arrow to be changed.
  1834.  
  1835.  Specifying `nohead` produces an arrow drawn without a head---a line segment.
  1836.  This gives you yet another way to draw a line segment on the graph.  By
  1837.  default, arrows have heads.
  1838.  
  1839.  `linestyle` allows specification of the line style to be used for the arrow.
  1840.  
  1841.  Examples:
  1842.  
  1843.  To set an arrow pointing from the origin to (1,2), use:
  1844.           set arrow to 1,2
  1845.  To set an arrow from bottom left of plotting area to (-5,5,3), and tag the
  1846.  arrow number 3, use:
  1847.           set arrow 3 from graph 0,0 to -5,5,3
  1848.  To change the preceding arrow to end at 1,1,1, without an arrow head, use:
  1849.           set arrow 3 to 1,1,1 nohead
  1850.  To draw a vertical line from the bottom to the top of the graph at x=3, use:
  1851.           set arrow from 3, graph 0 to 3, graph 1 nohead
  1852.  To delete arrow number 2 use:
  1853.           set noarrow 2
  1854.  To delete all arrows use:
  1855.           set noarrow
  1856.  To show all arrows (in tag order) use:
  1857.           show arrow
  1858. 3 autoscale
  1859. ?set autoscale
  1860. ?set noautoscale
  1861. ?show autoscale
  1862. ?autoscale
  1863. ?noautoscale
  1864.  Autoscaling may be set individually on the x, y or z axis or globally on all
  1865.  axes. The default is to autoscale all axes.
  1866.  
  1867.  Syntax:
  1868.          set autoscale <axes>{min|max}
  1869.          set noautoscale <axes>{min|max}
  1870.          show autoscale
  1871.  
  1872.  where <axes> is either `x`, `y`, `z`, `x2`, `y2` or `xy`.  A keyword with
  1873.  `min` or `max` appended (this cannot be done with `xy`) tells `gnuplot` to
  1874.  autoscale just the minimum or maximum of that axis.  If no keyword is given,
  1875.  all axes are autoscaled.
  1876.  
  1877.  When autoscaling, the plot range is automatically computed and the dependent
  1878.  axis (y for a `plot` and z for `splot`) is scaled to include the range of the
  1879.  function or data being plotted.
  1880.  
  1881.  If autoscaling of the dependent axis (y or z) is not set, the current y or z
  1882.  range is used.
  1883.  
  1884.  Autoscaling the independent variables (x for `plot` and x,y for `splot`) is a
  1885.  request to set the domain to match any data file being plotted.  If there are
  1886.  no data files, autoscaling an independent variable has no effect.  In other
  1887.  words, in the absence of a data file, functions alone do not affect the x
  1888.  range (or the y range if plotting z = f(x,y)).
  1889.  
  1890.  Please see `set range` for additional information about ranges.
  1891.  
  1892.  The behavior of autoscaling remains consistent in parametric mode, (see `set
  1893.  parametric`).  However, there are more dependent variables and hence more
  1894.  control over x, y, and z plot scales.  In parametric mode, the independent
  1895.  or dummy variable is t for `plot`s and u,v for `splot`s.  `autoscale` in
  1896.  parametric mode, then, controls all ranges (t, u, v, x, y, and z) and allows
  1897.  x, y, and z to be fully autoscaled.
  1898.  
  1899.  When tics are displayed on second axes but no plot has been specified for
  1900.  those axes, x2range and y2range are inherited from xrange and yrange.  This
  1901.  is done _before_ xrange and yrange are autoextended to a whole number of
  1902.  tics, which can cause unexpected results.
  1903.  
  1904.  Examples:
  1905.  
  1906.  This sets autoscaling of the y axis (other axes are not affected):
  1907.          set autoscale y
  1908.  
  1909.  This sets autoscaling only for the minimum of the y axis (the maximum of the
  1910.  y axis and the other axes are not affected):
  1911.          set autoscale ymin
  1912.  
  1913.  This sets autoscaling of the x and y axes:
  1914.          set autoscale xy
  1915.  
  1916.  This sets autoscaling of the x, y, z, x2 and y2 axes:
  1917.          set autoscale
  1918.  
  1919.  This disables autoscaling of the x, y, z, x2 and y2 axes:
  1920.          set noautoscale
  1921.  
  1922.  This disables autoscaling of the z axis only:
  1923.          set noautoscale z
  1924. 4 parametric mode
  1925. ?autoscale parametric
  1926. ?set autoscale t
  1927.  When in parametric mode (`set parametric`), the  xrange is as fully scalable
  1928.  as the y range.  In other words, in parametric mode the x axis can be
  1929.  automatically scaled to fit the range of the parametric function that is
  1930.  being plotted.  Of course, the y axis can also be automatically scaled just
  1931.  as in the non-parametric case.  If autoscaling on the x axis is not set, the
  1932.  current x range is used.
  1933.  
  1934.  Data files are plotted the same in parametric and nonparametric mode.
  1935.  However, there is a difference in mixed function and data plots: in
  1936.  non-parametric mode with autoscaled x, the x range of the datafile controls
  1937.  the x range of the functions; in parametric mode it has no influence.
  1938.  
  1939.  For completeness a last command `set autoscale t` is accepted.  However, the
  1940.  effect of this "scaling" is very minor.  When `gnuplot` determines that the
  1941.  t range would be empty, it makes a small adjustment if autoscaling is true.
  1942.  Otherwise, `gnuplot` gives an error.  Such behavior may, in fact, not be very
  1943.  useful and the command `set autoscale t` is certainly questionable.
  1944.  
  1945.  `splot` extends the above ideas as you would expect.  If autoscaling is set,
  1946.  then x, y, and z ranges are computed and each axis scaled to fit the
  1947.  resulting data.
  1948. 3 bar
  1949. ?set bar
  1950. ?show bar
  1951.  The `set bar` command controls the tics at the ends of errorbars.
  1952.  
  1953.  Syntax:
  1954.          set bar {small | large | <size>}
  1955.          show bar
  1956.  
  1957.  `small` is a synonym for 0.0, and `large` for 1.0.
  1958.  The default is 1.0 if no size is given.
  1959. 3 bmargin
  1960.  The command `set bmargin` sets the size of the bottom margin.  Please see
  1961.  `set margins` for details.
  1962. 3 border
  1963. ?set border
  1964. ?set noborder
  1965. ?show border
  1966. ?border
  1967. ?noborder
  1968.  The `set border` and `set noborder` commands control the display of the plot
  1969.  borders for the `plot` and `splot` commands.  The borders are encoded in a
  1970.  twelve-bit integer: the bottom 4 bits control the border for `plot` and the
  1971.  sides of the base for `splot`.  The next 4 bits control the verticals in
  1972.  `splot`, while the top 4 bits control the edges on top of the `splot`.  The
  1973.  default is 31, which is all four sides for `plot`, and base and z axis for
  1974.  `splot`.
  1975.  
  1976.  Syntax:
  1977.          set border    (turns on all borders)
  1978.          set border 3  (only SOUTHWEST borders)
  1979.          set border 4095   (complete box around splot)
  1980.          set border 127+256+512  (partial box omitting front vertical)
  1981.          set noborder
  1982.          show border
  1983.  
  1984.  To have tics on edges other than bottom and left, disable the usual
  1985.  tics and enable the second axes.
  1986.  
  1987.          set border 12 (only NORTHEAST borders)
  1988.          set noxtics; set noytics; set x2tics; set y2tics
  1989. ^ <a href=borders/borders.html> Borders Demo. </a>
  1990. 3 boxwidth
  1991. ?set boxwidth
  1992. ?show boxwidth
  1993. ?boxwidth
  1994.  The `set boxwidth` command is used to set the default width of boxes in the
  1995.  `boxes` and `boxerrorbars` styles.
  1996.  
  1997.  Syntax:
  1998.           set boxwidth {<width>}
  1999.           show boxwidth
  2000.  
  2001.  If a data file is plotted without the width being specified in the third,
  2002.  fourth, or fifth column, or if a function is plotted, the width of each box
  2003.  is set by the `set boxwidth` command.  (If a width is given after the `set
  2004.  boxwidth` command, the one taken from the data is used.)  If the width is
  2005.  not specified in one of these ways, the width of each box will be calculated
  2006.  automatically so that it touches the adjacent boxes.  In a four-column data
  2007.  set, the fourth column will be interpreted as the box width unless the width
  2008.  is set to -2.0, in which case the width will be calculated automatically.
  2009.  See `boxerrorbars` or `set style` for more details.
  2010.  
  2011.  To set the box width to automatic use the command
  2012.           set boxwidth
  2013.           set boxwidth -2  (4-col data)
  2014.  
  2015.  The same effect can be achieved with the `using` keyword in `plot`:
  2016.           plot 'file' using 1:2:3:4:(-2)
  2017. 3 clabel
  2018. ?set clabel
  2019. ?set noclabel
  2020. ?show clabel
  2021. ?clabel
  2022. ?noclabel
  2023.  `gnuplot` will vary the linetype used for each contour level when clabel is
  2024.  set.  When this option on (the default), a legend labels each linestyle with
  2025.  the z level it represents.  It is not possible at present to separate the
  2026.  contour labels from the surface key.
  2027.  
  2028.  Syntax:
  2029.          set clabel { 'format' }
  2030.          set noclabel
  2031.          show clabel
  2032.  
  2033.  The default for the format string is %8.3g, which gives three decimal places.
  2034.  This may produce poor label alignment if the key is altered from its default
  2035.  configuration.
  2036.  
  2037.  See also `set contour`.
  2038. 3 clip
  2039. ?set clip
  2040. ?set noclip
  2041. ?show clip
  2042. ?clip
  2043. ?noclip
  2044.  `gnuplot` can clip data points and lines that are near the boundaries of a
  2045.  plot.
  2046.  
  2047.  Syntax:
  2048.          set clip <clip-type>
  2049.          set noclip <clip-type>
  2050.          show clip
  2051.  
  2052.  Three clip types are supported by `gnuplot`: `points`, `one`, and `two`.
  2053.  One, two, or all three clip types may be active for a single plot.
  2054.  
  2055.  The `points` clip type forces `gnuplot` to clip (actually, not plot at all)
  2056.  data points that fall within but too close to the boundaries.  This is done
  2057.  so that large symbols used for points will not extend outside the boundary
  2058.  lines.  Without clipping points near the boundaries, the plot may look bad.
  2059.  Adjusting the x and y ranges may give similar results.
  2060.  
  2061.  Setting the `one` clip type causes `gnuplot` to plot a line segment which has
  2062.  only one of its two endpoints within the plotting region.  Only the in-range
  2063.  portion of the line is drawn.  The alternative is to not draw any portion of
  2064.  the line segment.
  2065.  
  2066.  Some lines may have both endpoints out of range, but pass through the
  2067.  plotting area.  Setting the `two` clip-type allows the visible portion of
  2068.  these lines to be drawn.
  2069.  
  2070.  In no case is a line drawn outside the plotting area.
  2071.  
  2072.  The defaults are `noclip points`, `clip one`, and `noclip two`.
  2073.  
  2074.  To check the state of all forms of clipping, use
  2075.          show clip
  2076.  
  2077.  For backward compatibility with older versions, the following forms are also
  2078.  permitted:
  2079.         set clip
  2080.         set noclip
  2081.  `set clip` is synonymous with `set clip points`; `set noclip` turns off all
  2082.  three types of clipping.
  2083. 3 cntrparam
  2084. ?set cntrparam
  2085. ?show cntrparam
  2086. ?cntrparam
  2087.  `set cntrparam` controls the generation of contours and their smoothness for
  2088.  a contour plot.
  2089.  
  2090.  Syntax:
  2091.          set cntrparam { { linear | cubicspline | bspline } |
  2092.               points <n> |
  2093.               order <n> |
  2094.               levels { [ auto ] <n> |
  2095.                        discrete <z1>,<z2>, ... |
  2096.                        incremental {<start>, <incr>{, <end>} } } }
  2097.          show cntrparam
  2098.  
  2099.  This command controls the way contours are plotted.  <n> should be an
  2100.  integral constant expression and <z1>, <z2> any constant expressions.
  2101.  The parameters are:
  2102.  
  2103.  `linear`, `cubicspline`, `bspline`---Controls type of approximation or
  2104.  interpolation.  If `linear`, then the contours are drawn piecewise linear, as
  2105.  extracted from the surface directly.  If `cubicspline`, then piecewise linear
  2106.  contours are interpolated to form somewhat smoother contours, but which may
  2107.  undulate.  If `bspline`, a guaranteed-smoother curve is drawn, which only
  2108.  approximates the piecewise linear data.
  2109.  
  2110.  `points`---Eventually all drawings are done with piecewise linear strokes.
  2111.  This number controls the number of points used to approximate a curve.
  2112.  It is relevant only for `cubicspline` and `bspline` modes.
  2113.  
  2114.  `order`---Order of the bspline approximation to be used.  The bigger this
  2115.  order is, the smoother the resulting contour.  (Of course, higher order
  2116.  bspline curves will move further away from the original piecewise linear
  2117.  data.)  This option is relevant for `bspline` mode only.  Allowed values are
  2118.  integers in the range from 2 (linear) to 10.
  2119.  
  2120.  `levels`---Number of contour levels.  Selection of the levels is controlled
  2121.  by `auto` (default), `discrete`, and `incremental`.  For `auto`, if the
  2122.  surface is bounded by zmin and zmax, contours will be generated from zmin+dz
  2123.  to zmax-dz in steps of size dz, where dz = (zmax - zmin) / (levels + 1).  For
  2124.  `discrete`, contours will be generated at z = z1, z2 ... as specified.  The
  2125.  number of discrete levels is limited to MAX_DISCRETE_LEVELS, defined in
  2126.  plot.h to be 30.  If `incremental`, contours are generated at values of z
  2127.  beginning at <start> and increasing by <increment> until <end> is reached.
  2128.  If <end> is not specified, MAX_DISCRETE_LEVELS will be generated.
  2129.  
  2130.  Examples:
  2131.      set cntrparam bspline
  2132.      set cntrparam points 7
  2133.      set cntrparam order 10
  2134.      set cntrparam levels auto 5                   # 5 automatic levels
  2135.      set cntrparam levels discrete .1,1/exp(1),.9  # 3 discrete at .1,.37,.9
  2136.      set cntrparam levels incremental  0,.1,.4
  2137.      # 5 incremental levels at 0, .1, .2, .3 and .4
  2138.      set cntrparam levels 10
  2139.      # sets n = 10 retaining current setting of auto, discr. and
  2140.      # increment's start and increment value, while changing end
  2141.      set cntrparam levels incremental 100,50
  2142.      # set start = 100 and increment = 50, retaining n levels
  2143.  
  2144.  See also `set contour` for control of where the contours are drawn, and `set
  2145.  clabel` for control of the format of the contour labels.
  2146. ^ <a href=contours/contours.html>Contours Demo</a> and
  2147. ^ <a href=discrete/discrete.html>contours with User Defined Levels.</a>
  2148. 3 contour
  2149. ?set contour
  2150. ?show contour
  2151. ?contour
  2152.  `set contour` enables contour drawing for surfaces. This option is available
  2153.  for `splot` only.
  2154.  
  2155.  Syntax:
  2156.          set contour { base | surface | both }
  2157.          set nocontour
  2158.  
  2159.  The three options specify where to draw the contours: `base` draws the
  2160.  contours on the grid base where the x/ytics are placed, `surface` draws the
  2161.  contours on the surfaces themselves, and `both` draws the contours on both
  2162.  the base and the surface.  If no option is provided, the default is `base`.
  2163.  
  2164.  See also `set cntrparam` for the parameters that affect the drawing of
  2165.  contours, and `set clabel` for control of labelling of the contours.
  2166.  
  2167.  The surface can be switched off (see `set surface`), giving a contour-only
  2168.  plot.  Though it is possible to set the view to give a full-page plot, good
  2169.  results can be obtained by writing the contour information out to a file, and
  2170.  rereading it as a 2-d datafile plot:
  2171.  
  2172.    set nosurface
  2173.    set contour
  2174.    set cntrparam ...
  2175.    set term table
  2176.    set out 'filename'
  2177.    splot ...
  2178.    set out
  2179.    # contour info now in filename
  2180.    set term <whatever>
  2181.    plot 'filename'
  2182.  
  2183.  In order to draw contours, the data must be organized as "grid data".  In
  2184.  such a file all of the points for a single y value are listed, then all the
  2185.  points for the next y, and so on.  A single null line (a line containing no
  2186.  characters other than a carriage return and/or a line feed) separates one y
  2187.  value group from the next.  See also `plot datafile`.
  2188.  
  2189.  If contours are desired from non-grid data, `set dgrid3d` can be used to
  2190.  create an appropriate grid.  See `set dgrid3d` for more information.
  2191. ^ <a href=contours/contours.html>Contours Demo</a> and
  2192. ^ <a href=discrete/discrete.html>contours with User Defined Levels.</a>
  2193. 3 co-ordinates
  2194. ?co-ordinates
  2195.  While there is no `set co-ordinates` command, the commands `set arrow`, `set
  2196.  key`, and `set label` allow you to draw something at an arbitrary position
  2197.  on the graph.  This position is specified by the syntax:
  2198.  
  2199.           {first | second | graph | screen} x,\
  2200.           {first | second | graph | screen} y\
  2201.           {, {first | second | graph | screen} z}
  2202.  
  2203.  `first` places the x, y, or z co-ordinate in the system defined by the left
  2204.  and bottom axes; `second` places it in the system defined by the second axes
  2205.  (top and right); `graph` specifies the area within the axes---0,0 is bottom
  2206.  left and 1,1 is top right (for splot, 0,0,0 is bottom left of plotting area;
  2207.  use negative z to get to the base---see `set ticslevel`); and `screen`
  2208.  specifies the screen area---0,0 is bottom left and 1,1 is top right.
  2209.  
  2210.  If the co-ordinate system is not specified, `first` is used.
  2211.  
  2212.  If one (or more) axis is timeseries, the appropriate co-ordinate should
  2213.  be given as a quoted time string according to the `timefmt` format string.
  2214.  See `set {x,y,z}data` and `set timefmt`.
  2215. 3 data style
  2216. ?set data style
  2217. ?show data style
  2218. ?data style
  2219.  The `set data style` command changes the default plotting style for data
  2220.  plots.
  2221.  
  2222.  Syntax:
  2223.          set data style <style-choice>
  2224.          show data style
  2225.  
  2226.  See `set style` for the choices.  If no choice is given, the choices are
  2227.  listed.  `show data style` shows the current default data plotting style.
  2228. 3 dgrid3d
  2229. ?set dgrid3d
  2230. ?set nodgrid3d
  2231. ?show dgrid3d
  2232. ?dgrid3d
  2233.  The `set dgrid3d` command enables and sets the different parameters for
  2234.  non-grid to grid data mapping.
  2235.  
  2236.  Syntax:
  2237.          set dgrid3d {,{<row_size>}{,{<col_size>}{,<norm>}}}
  2238.          set nodgrid3d
  2239.          show dgrid3d
  2240.  
  2241.  By default `dgrid3d` is disabled.  When enabled, 3-d data read from a file
  2242.  are always treated as a scattered data set.  A grid with dimensions derived
  2243.  from a bounding box of the scattered data and size as specified by the
  2244.  row/col_size parameters is created for plotting and contouring.  The grid is
  2245.  equally spaced in x and y; the z values are computed as weighted averages of
  2246.  the scattered points' values.
  2247.  
  2248.  The third parameter, norm, controls the weighting: each point is weighted
  2249.  inversely by its distance (from the grid point) raised to the norm power.
  2250.  (Actually it's not quite the distance: the weights are given by the inverse
  2251.  of dx^norm + dy^norm, where dx and dy are the components of the separation
  2252.  of the grid point from each data point.)  Thus the closer the data point is
  2253.  to a grid point, the more effect it has on that grid point.  In `gnuplot`,
  2254.  this distance computation is optimized for norms that are powers of 2,
  2255.  specifically 1, 2, 4, 8, and 16, but any non-negative integer can be used.
  2256.  
  2257.  The `dgrid3d` option is a simple low pass filter that converts scattered data
  2258.  to a grid data set.  More sophisticated approaches to this problem exist and
  2259.  should be used to preprocess the data outside `gnuplot` if this simple
  2260.  solution is found inadequate.
  2261.  
  2262.  Examples:
  2263.         set dgrid3d 10,10,2
  2264.         set dgrid3d ,,4
  2265.  
  2266.  The first specifies that a grid of size 10 by 10 is to be constructed using
  2267.  the L2 norm (a norm of 2 is to be used in the distance computation).  The
  2268.  second only modifies the norm to be used to L4.
  2269. ^ <a href=scatter/scatter.html> Dgrid3d Demo.</a>
  2270.  
  2271. 3 dummy
  2272. ?set dummy
  2273. ?show dummy
  2274. ?dummy
  2275.  The `set dummy` command changes the default dummy variable names.
  2276.  
  2277.  Syntax:
  2278.          set dummy <dummy-var>{,<dummy-var>}
  2279.          show dummy
  2280.  
  2281.  By default, `gnuplot` assumes that the independent variable for the `plot`
  2282.  command is x, and the independent variables for the `splot` command are x and
  2283.  y.  They are called the dummy variables because it is just a notation to
  2284.  indicate the independent variables.  It may be more convenient to call a
  2285.  dummy variable by a more physically meaningful or conventional name.  For
  2286.  example, when plotting time functions:
  2287.  
  2288.          set dummy t
  2289.          plot sin(t), cos(t)
  2290.  
  2291.  Examples:
  2292.          set dummy u,v
  2293.          set dummy ,s
  2294.  
  2295.  The second example sets the second variable to s.
  2296.  
  2297.  The `set parametric` command also changes the dummy variables (to t for
  2298.  `plot` and u,v for `splot`).
  2299. 3 encoding
  2300. ?set encoding
  2301. ?show encoding
  2302. ?encoding
  2303.  The `set encoding` command selects a character encoding.  Valid values are:
  2304.    `default`,    which does nothing;
  2305.    `iso_8859_1`, which is used on many Unix workstations and with MS-Windows;
  2306.    `cp437`,      the standard IBM PC character encoding and
  2307.    `cp850`,      the standard alternate IBM PC character encoding.
  2308.  
  2309.  Syntax:
  2310.          set encoding <value>
  2311.          show encoding
  2312.  
  2313.  Please note that this is not supported on all terminal types. Current
  2314.  terminals supperted are:
  2315.    postscript.
  2316. 3 format
  2317. ?set format
  2318. ?show format
  2319. ?format
  2320.  The format of the tic-mark labels can be set with the `set format` command.
  2321.  
  2322.  Syntax:
  2323.          set format {<axes>} {"<format-string>"}
  2324.          set format {<axes>} {'<format-string>'}
  2325.          show format
  2326.  
  2327.  where <axes> is either `x`, `y`, `z`, `xy`, `x2`, `y2` or nothing (which is
  2328.  the same as `xy`).  The length of the string representing a ticmark (after
  2329.  formatting with printf) is restricted to 100 characters.  If the format
  2330.  string is omitted, the format will be returned to the default "%g".  For
  2331.  LaTeX users, the format "$%g$" is often desirable.  If the empty string "" is
  2332.  used, no label will be plotted with each tic, though the tic mark will still
  2333.  be plotted.  To eliminate all tic marks, use `set noxtics` or `set noytics`.
  2334.  
  2335.  The default format for both axes is "%g", but other formats such as "%.2f" or
  2336.  "%3.0fm" are often desirable.  Anything accepted by printf when given a
  2337.  double precision number, and then accepted by the terminal, will work.  In
  2338.  particular, the formats f, e, and g will work, and the d, o, x, c, s, and u
  2339.  formats will not work.  If the data type for the axis is date/time, the
  2340.  format string must contain valid codes for the strftime function (outside of
  2341.  `gnuplot`, type `man strftime`).  It is best to stick to the conversion codes
  2342.  accepted by the `set timefmt` command.  If the format string looks like a
  2343.  floating point format, then `gnuplot` tries to construct a reasonable format.
  2344.  
  2345.  For `plot`, newline (\n) is accepted in the x-axis format string; for
  2346.  `splot`, newline is allowed for both x- and y-axis format strings.  Use
  2347.  double-quotes rather than single-quotes to enable such interpretation.  See
  2348.  also `syntax`.
  2349.  
  2350.  See also `set xtics` and `set ytics` for more control over tic labels.
  2351. 3 function style
  2352. ?set function style
  2353. ?show function style
  2354. ?function style
  2355.  The `set function style` command changes the default plotting style for
  2356.  function plots.
  2357.  
  2358.  Syntax:
  2359.          set function style <style-choice>
  2360.          show function style
  2361.  
  2362.  See `set style` for the choices.  If no choice is given, the choices are
  2363.  listed.  `show function style` shows the current default function plotting
  2364.  style.
  2365. 3 functions
  2366. ?show functions
  2367.  The `show functions` command lists all user-defined functions and their
  2368.  definitions.
  2369.  
  2370.  Syntax:
  2371.          show functions
  2372. ^ <a href=spline/spline.html> Splines as User Defined Functions.</a>
  2373. ^ <a href=airfoil/airfoil.html>Use of functions and complex variables for airfoils </a>
  2374. 3 grid
  2375. ?set grid
  2376. ?show grid
  2377. ?grid
  2378.  The `set grid` command allows grid lines to be drawn on the graph.
  2379.  
  2380.  Syntax:
  2381.          set grid {{no}{m}xtics} {{no}{m}ytics} {{no}{m}ztics} \
  2382.               {{no}{m}x2tics} {{no}{m}y2tics} \
  2383.               {polar {<angle>} {<major-linetype> {<minor-linetype>}}}
  2384.          show grid
  2385.  
  2386.  The grid can be enabled and disabled for the major and/or minor tic marks on
  2387.  any axis, and the linetype can be specified for major and minor grid lines.
  2388.  Additionally, a polar grid can be selected for 2-d plots---circles are drawn
  2389.  to intersect the selected tics, and radial lines are drawn at definable
  2390.  intervals.  (The interval is given in degrees or radians ,depending on the
  2391.  `set angles` setting.)  Note that a polar grid is no longer automatically
  2392.  generated in polar mode.
  2393.  
  2394.  The pertinent tics must be enabled before `set grid` can draw them; `gnuplot`
  2395.  will quietly ignore instructions to draw grid lines at non-existent tics, but
  2396.  they will appear if the tics are subsequently enabled.
  2397.  
  2398.  If no linetype is specified for the minor gridlines, the same linetype as the
  2399.  major gridlines is used.  The default polar angle is 30 degrees.
  2400.  
  2401.  Z grid lines are drawn on the back of the plot.  This looks better if a
  2402.  partial box is drawn around the plot---see `set border`.
  2403. 3 hidden3d
  2404. ?set hidden3d
  2405. ?show hidden3d
  2406.  The `set hidden3d` command enables hidden line removal for explicit surface
  2407.  plotting (see `splot`).
  2408.  
  2409.  Syntax:
  2410.          set hidden3d
  2411.          set nohidden3d
  2412.          show hidden3d
  2413.  
  2414.  Hidden line removal may be used for both explicit functions and for explicit
  2415.  data.  It now works for parametric surfaces as well.  This mode is meaningful
  2416.  only when surfaces are `splot`ted `with lines`.
  2417.  
  2418.  When this flag is set, both the hidden portion of the surface and possibly
  2419.  its hidden contours (see `set contour`) as well as the hidden grid will be
  2420.  removed.  Each surface has its hidden parts removed with respect to itself
  2421.  and to other surfaces, if more than one surface is plotted.  But contours
  2422.  drawn on the surface (`set contour surface`) don't seem to work.  Labels and
  2423.  arrows are always visible and are unaffected.
  2424. ^ <a href=hidden/hidden.html> Hidden Line Removal Demo</a> and
  2425. ^ <a href=singulr/singulr.html> Complex Hidden Line Demo. </a>
  2426. 3 isosamples
  2427. ?set isosamples
  2428. ?show isosamples
  2429. ?isosamples
  2430.  The isoline density of surfaces may be changed by the `set isosamples`
  2431.  command.
  2432.  
  2433.  Syntax:
  2434.          set isosamples <iso_1> {,<iso_2>}
  2435.          show isosamples
  2436.  
  2437.  Each surface plot will have <iso_1> iso-u lines and <iso_2> iso-v lines.  If
  2438.  you only specify <iso_1>, <iso_2> will be set to the same value as <iso_1>.
  2439.  By default, sampling is set to 10 isolines per u or v axis.  A higher
  2440.  sampling rate will produce more accurate plots, but will take longer.  These
  2441.  parameters have no effect on data file plotting.
  2442.  
  2443.  An isoline is a curve parameterized by one of the surface parameters while
  2444.  the other surface parameter is fixed.  Isolines provide a simple means to
  2445.  display a surface.  By fixing the u parameter of surface s(u,v), the iso-u
  2446.  lines of the form c(v) = s(u0,v) are produced, and by fixing the v parameter,
  2447.  the iso-v lines of the form c(u) = s(u,v0) are produced.
  2448.  
  2449.  When a surface plot is being done without the removal of hidden lines, `set
  2450.  samples` also has an effect on the number of points being evaluated---it
  2451.  controls the number of points sampled along each isoline.  See `set samples`.
  2452. 3 key
  2453. ?set key
  2454. ?set nokey
  2455. ?show key
  2456. ?key
  2457.  The `set key` enables a key describing curves on a plot.
  2458.  
  2459.  Syntax:
  2460.          set key { <position> | \
  2461.                   left | right | top | bottom | outside | below } \
  2462.                  { Left | Right } \
  2463.                  { {no}reverse } \
  2464.                  { title "<text>" } \
  2465.                  { {no}box {<linetype>} }
  2466.          set nokey
  2467.          show key
  2468.  
  2469.  By default the key is placed in the upper right corner of the plot.  The
  2470.  keywords `left`, `right`, `top`, `bottom`, `outside` and `below` may be used
  2471.  to place the key in the other corners inside the plot or to the right
  2472.  (outside) or below the plot.  They may be given alone or combined.
  2473.  
  2474.  Justification of the labels within the key is controlled by `Left` or `Right`
  2475.  (default is `Right`).  The text and sample can be reversed (`reverse`) and a
  2476.  box can be drawn around the key (`box {<linetype>}`) in a specified linetype.
  2477.  A title can be put on the key (`title "<text>"`)---see also `syntax` for the
  2478.  distinction between text in single- or double-quotes.  The title uses the
  2479.  same justification as do the individual labels.
  2480.  
  2481.  The <position> can be a simple x,y,z as in previous versions, but these can
  2482.  be preceded by one of four keywords (`first`, `second`, `graph`, `screen`)
  2483.  which selects the co-ordinate system in which the position is specified.  See
  2484.  `set co-ordinates` for more details.  The key is drawn as a sequence of
  2485.  lines, with one plot described on each line.  On the right-hand side (or the
  2486.  left-hand side, if `reverse` is selected) of each line is a representation
  2487.  that attempts to mimic the way the curve is plotted.  On the other side of
  2488.  each line is the text description, obtained from the `plot` command.  See
  2489.  `plot title` to change this description.  The lines are vertically arranged
  2490.  so that an imaginary straight line divides the left- and right-hand sides of
  2491.  the key.  It is the co-ordinates of this line that are specified with the
  2492.  `set key` command.  In a `plot`, only the x and y co-ordinates are used to
  2493.  specify the line position.  For a `splot`, x, y and z are all used as a 3-d
  2494.  location mapped using the same mapping as the plot itself to form the
  2495.  required 2-d screen position of the imaginary line.
  2496.  
  2497.  Some or all of the key may be outside of the plot boundary, although this may
  2498.  interfere with other labels and may cause an error on some devices.  If you
  2499.  use the keywords `outside` or `below`, `gnuplot` makes space for the keys and
  2500.  the plot becomes smaller.  Putting keys outside to the right, they occupy as
  2501.  few columns as possible, and putting them below, as many columns as possible
  2502.  (depending of the length of the labels), thus stealing as little space from
  2503.  the plot as possible.
  2504.  
  2505.  When using the TeX or PostScript drivers, or similar drivers where formatting
  2506.  information is embedded in the string, `gnuplot` is unable to calculate
  2507.  correctly the width of the string for key positioning.  If the key is to be
  2508.  positioned at the left, it may be convenient to use the combination  `set key
  2509.  left Left reverse`.  The box and gap in the grid will be the width of the
  2510.  literal string.
  2511.  
  2512.  If `splot` is being used to draw contours, the contour labels will be listed
  2513.  in the key.  If the alignment of these labels is poor or a different number
  2514.  of decimal places is desired, the label format can be specified.  See `set
  2515.  clabel` for details.
  2516.  
  2517.  Examples:
  2518.  
  2519.  This places the key at the default location:
  2520.          set key
  2521.  This disables the key:
  2522.          set nokey
  2523.  This places a key at co-ordinates 2,3.5,2:
  2524.          set key 2,3.5,2
  2525.  This places the key below the plot:
  2526.          set key below
  2527.  This places the key in the bottom left corner, left-justifies the text,
  2528.  gives it a title, and draws a box around it in linetype 3:
  2529.          set key left bottom Left title 'Legend' box 3
  2530. 3 label
  2531. ?set label
  2532. ?set nolabel
  2533. ?show label
  2534. ?label
  2535. ?nolabel
  2536.  Arbitrary labels can be placed on the plot using the `set label` command.
  2537.  
  2538.  Syntax:
  2539.           set label {<tag>} {"<label_text>"} {at <position>}
  2540.                             {<justification>} {font "<name><,size>"}
  2541.           set nolabel {<tag>}
  2542.           show label
  2543.  
  2544.  The <position> is specified by either x,y or x,y,z, and may be preceded by
  2545.  `first`, `second`, `graph`, or `screen` to select the co-ordinate system.
  2546.  See `set co-ordinates` for details.
  2547.  
  2548.  The text is scanned for backslash-octal (\nnn) conversion.  It defaults to
  2549.  the null text "".
  2550.  
  2551.  The tag is an integer that is used to identify the label. If no <tag> is
  2552.  given, the lowest unused tag value is assigned automatically.  The tag can be
  2553.  used to delete or modify a specific label.  To change any attribute of an
  2554.  existing label, use the `set label` command with the appropriate tag, and
  2555.  specify the parts of the label to be changed.
  2556.  
  2557.  By default, the text is placed flush left against the point x,y,z.  To adjust
  2558.  the way the label is positioned with respect to the point x,y,z, add the
  2559.  parameter <justification>, which may be `left`, `right` or `center`,
  2560.  indicating that the point is to be at the left, right or center of the text.
  2561.  Labels outside the plotted boundaries are permitted but may interfere with
  2562.  axis labels or other text.
  2563.  
  2564.  If one (or more) axis is timeseries, the appropriate co-ordinate should be
  2565.  given as a quoted time string according to the `timefmt` format string.  See
  2566.  `set {x,y,z}data` and `set timefmt`.
  2567.  
  2568.  The EEPIC, Imagen, LaTeX, and TPIC drivers allow \\ in a string to specify
  2569.  a newline.
  2570.  
  2571.  Examples:
  2572.  
  2573.  To set a label at (1,2) to "y=x", use:
  2574.           set label "y=x" at 1,2
  2575.  To set a label of the sign Sigma of size 24 at center of plot area, use:
  2576.           set label "S" at graph 1,2 font "Symbol,24"
  2577.  To set a label "y=x^2" with the right of the text at (2,3,4), and tag the
  2578.  label as number 3, use:
  2579.           set label 3 "y=x^2" at 2,3,4 right
  2580.  To change the preceding label to center justification, use:
  2581.           set label 3 center
  2582.  To delete label number 2, use:
  2583.           set nolabel 2
  2584.  To delete all labels, use:
  2585.           set nolabel
  2586.  To show all labels (in tag order), use:
  2587.           show label
  2588.  To set a label on a plot with a timeseries (timefmt="%d/%m/%y,%H:%M) on the
  2589.  x axis, use something like:
  2590.           set label "Harvest" at "25/8/93",1
  2591. 3 lmargin
  2592.  The command `set lmargin` sets the size of the left margin.  Please see
  2593.  `set margins` for details.
  2594. 3 logscale
  2595. ?set logscale
  2596. ?set nologscale
  2597. ?show logscale
  2598. ?logscale
  2599. ?nologscale
  2600.  Log scaling may be set on the x, y, z, x2 and/or y2 axes.
  2601.  
  2602.  Syntax:
  2603.          set logscale <axes> <base>
  2604.          set nologscale <axes>
  2605.          show logscale
  2606.  
  2607.  where <axes> may be any combinations of `x`, `y`, and `z`, in any order, or
  2608.  `x2` or `y2` and where <base> is the base of the log scaling.  If <base> is
  2609.  not given, then 10 is assumed.  If <axes> is not given, then all axes are
  2610.  assumed.  `set nologscale` turns off log scaling for the specified axes.
  2611.  
  2612.  Examples:
  2613.  
  2614.  To enable log scaling in both x and z axes:
  2615.         set logscale xz
  2616.  To enable scaling log base 2 of the y axis:
  2617.         set logscale y 2
  2618.  To disable z axis log scaling:
  2619.         set nologscale z
  2620. 3 missing
  2621. ?set missing
  2622. ?missing
  2623.  The `set missing` command allows you to tell `gnuplot` what character is
  2624.  used in a data file to denote missing data.
  2625.  
  2626.  Syntax:
  2627.          set missing {"character"}
  2628.  
  2629.  Example:
  2630.          set missing "?"
  2631.  
  2632.  would mean that, when plotting a file containing
  2633.  
  2634.          1 1
  2635.          2 ?
  2636.          3 2
  2637.  
  2638.  the middle line would be ignored.
  2639.  
  2640.  There is no default character for `missing`.
  2641. 3 mx2tics
  2642.  Minor tic marks along the x2 axis are controlled by `set mx2tics`.  Please
  2643.  see `set mxtics`.
  2644. 3 my2tics
  2645.  Minor tic marks along the y2 axis are controlled by `set my2tics`.  Please
  2646.  see `set mxtics`.
  2647. 3 mapping
  2648. ?set mapping
  2649. ?show mapping
  2650. ?mapping
  2651.  If data are provided to `splot` in spherical or cylindrical co-ordinates,
  2652.  the `set mapping` command should be used to instruct `gnuplot` how to
  2653.  interpret them.
  2654.  
  2655.  Syntax:
  2656.          set mapping { cartesian | spherical | cylindrical }
  2657.  
  2658.  For a spherical co-ordinate system, the data occupy two or three columns.
  2659.  The first two are interpreted as the polar and azimuthal angles theta and phi
  2660.  (in the units specified by `set angles`).  The radius r is taken from the
  2661.  third column if there is one, or is set to unity if there is no third column.
  2662.  The mapping is:
  2663.  
  2664.          x = r * cos( theta ) * cos( phi )
  2665.          y = r * sin( theta ) * cos( phi )
  2666.          z = r * sin( phi )
  2667.  
  2668.  For a cylindrical co-ordinate system, the data again occupy two or three
  2669.  columns.  The first two are interpreted as theta (in the units specified by
  2670.  `set angles`) and z.  The radius is either taken from the third column or set
  2671.  to unity, as in the spherical case.  The mapping is:
  2672.  
  2673.          x = r * cos( theta )
  2674.          y = r * sin( theta )
  2675.          z = z
  2676.  
  2677.  The effects of `mapping` can be duplicated with the `using` filter on the
  2678.  `splot` command, but `mapping` may be more convenient if many data files are
  2679.  to be processed.
  2680.  
  2681.  `mapping` has no affect on data file `plot`s.
  2682. ^ <a href=world/world.html>Mapping Demos.</a>
  2683. 3 margin
  2684. ?set margin
  2685. ?show margin
  2686. ?margin
  2687. ?set bmargin
  2688. ?show bmargin
  2689. ?bmargin
  2690. ?set lmargin
  2691. ?show lmargin
  2692. ?lmargin
  2693. ?set rmargin
  2694. ?show rmargin
  2695. ?rmargin
  2696. ?set tmargin
  2697. ?show tmargin
  2698. ?tmargin
  2699.  Normally the margins of the plot are automatically calculated based on tics
  2700.  and axis labels.  These computed values can be overridden by the `set margin`
  2701.  commands.  `show margin` shows the current settings.
  2702.  
  2703.  Syntax:
  2704.          set bmargin {<margin>}
  2705.          set lmargin {<margin>}
  2706.          set rmargin {<margin>}
  2707.          set tmargin {<margin>}
  2708.          show margin
  2709.  
  2710.  The units of <margin> are character heights or widths, as appropriate.  A
  2711.  positive value always adds to the size of the margin.  Omitting it causes
  2712.  `gnuplot` to revert to the computed values.
  2713. 3 multiplot
  2714. ?set multiplot
  2715. ?multiplot
  2716. ?set nomultiplot
  2717.  The command `set multiplot` places `gnuplot` in the multiplot mode, in which
  2718.  several plots are placed on the same page, window, or screen.
  2719.  
  2720.  Syntax:
  2721.          set multiplot
  2722.          set nomultiplot
  2723.  
  2724.  For some terminals, no plot is displayed until the command `set nomultiplot`
  2725.  is given, which causes the entire page to be drawn and then returns `gnuplot`
  2726.  to its normal single-plot mode.  For other terminals, each separate `plot`
  2727.  command produces a plot.
  2728.  
  2729.  The commands `set origin` and `set size` must be used to correctly position
  2730.  each plot; see `set origin` and `set size` for details of their usage.
  2731.  
  2732.  Example:
  2733.          set size 0.7,0.7
  2734.          set origin 0.1,0.1
  2735.          set multiplot
  2736.          set size 0.4,0.4
  2737.          set origin 0.1,0.1
  2738.          plot sin(x)
  2739.          set size 0.2,0.2
  2740.          set origin 0.5,0.5
  2741.          plot cos(x)
  2742.          set nomultiplot
  2743.  
  2744.  displays a plot of cos(x) stacked above a plot of sin(x).  Note the initial
  2745.  `set size` and `set origin`.  While these are not always required, their
  2746.  inclusion is recommended.  Some terminal drivers require that bounding box
  2747.  information be available before any plots can be made, and the form given
  2748.  above guarantees that the bounding box will include the entire plot array
  2749.  rather than just the bounding box of the first plot.
  2750. 3 mxtics
  2751. ?set mxtics
  2752. ?set nomxtics
  2753. ?show mxtics
  2754. ?mxtics
  2755. ?nomxtics
  2756. ?set mytics
  2757. ?set nomytics
  2758. ?show mytics
  2759. ?mytics
  2760. ?nomytics
  2761. ?set mztics
  2762. ?set nomztics
  2763. ?show mztics
  2764. ?mztics
  2765. ?nomztics
  2766. ?set mx2tics
  2767. ?set nomx2tics
  2768. ?show mx2tics
  2769. ?mx2tics
  2770. ?nomx2tics
  2771. ?set my2tics
  2772. ?set nomy2tics
  2773. ?show my2tics
  2774. ?my2tics
  2775. ?nomy2tics
  2776.  Minor tic marks along the x axis are controlled by `set mx2tics`.  They can
  2777.  be turned off with `set nomxtics`.  Similar commands control minor tics along
  2778.  the other axes.
  2779.  
  2780.  Syntax:
  2781.          set mxtics {<freq>}
  2782.          set mytics {<freq>}
  2783.          set mztics {<freq>}
  2784.          set mx2tics {<freq>}
  2785.          set my2tics {<freq>}
  2786.          set nomxtics
  2787.          etc.
  2788.          show mxtics
  2789.          etc.
  2790.  
  2791.  <freq> is the number of sub-intervals (NOT the number of minor tics!) between
  2792.  major tics (ten is the default, so there are nine minor tics between major
  2793.  tics).
  2794.  
  2795.  If the axis is logarithmic, the number of sub-intervals will be set to a
  2796.  reasonable number by default (based upon the length of a decade).  This will
  2797.  be overridden if <freq> is given.  However the usual minor tics (2, 3, ...,
  2798.  8, 9 between 1 and 10, for example) are obtained by setting <freq> to 10,
  2799.  even though there are but nine sub-intervals.
  2800.  
  2801.  By default, minor tics are off for linear axes and on for logarithmic axes.
  2802.  They inherit the settings for `axis|border` and `{no}mirror` specified for
  2803.  the major tics.  Please see `set xtics` for information about these.
  2804. 3 mytics
  2805.  Minor tic marks along the y axis are controlled by `set mytics`.  Please
  2806.  see `set mxtics`.
  2807. 3 mztics
  2808.  Minor tic marks along the z axis are controlled by `set mztics`.  Please
  2809.  see `set mxtics`.
  2810. 3 offsets
  2811. ?set offsets
  2812. ?noset offsets
  2813. ?show offsets
  2814. ?offsets
  2815.  Offsets provide a mechanism to put a boundary around the data inside of an
  2816.  autoscaled plot.
  2817.  
  2818.  Syntax:
  2819.          set offsets <left>, <right>, <top>, <bottom>
  2820.          set nooffsets
  2821.          show offsets
  2822.  
  2823.  Each offset may be a constant or an expression.  Each defaults to 0.  Left
  2824.  and right offsets are given in units of the x axis, top and bottom offsets in
  2825.  units of the y axis.  A positive offset expands the plot in the specified
  2826.  direction, e.g., a positive bottom offset makes ymin more negative.  Negative
  2827.  offsets, while permitted, can have unexpected interactions with autoscaling
  2828.  and clipping.
  2829.  
  2830.  Offsets are ignored in `splot`s.
  2831.  
  2832.  Example:
  2833.          set offsets 0, 0, 2, 2
  2834.          plot sin(x)
  2835.  
  2836.  This plot of sin(x) will have a y range [-3:3] because the function
  2837.  will be autoscaled to [-1:1] and the vertical offsets are each two.
  2838. 3 origin
  2839. ?set origin
  2840. ?origin
  2841.  The `set origin` command is used to specify the origin of a plotting surface
  2842.  (i.e., the graph and its margins) on the screen.  The co-ordinates are given
  2843.  in the `screen` co-ordinate system (see `co-ordinates` for information about
  2844.  this system).
  2845.  
  2846.  Syntax:
  2847.          set origin <x-origin>,<y-origin>
  2848. 3 output
  2849. ?set output
  2850. ?show output
  2851. ?output
  2852.  By default, plots are displayed to the standard output. The `set output`
  2853.  command redirects the display to the specified file or device.
  2854.  
  2855.  Syntax:
  2856.          set output {"<filename>"}
  2857.          show output
  2858.  
  2859.  The filename must be enclosed in quotes.  If the filename is omitted, any
  2860.  output file opened by a previous invocation of `set output` will be closed
  2861.  and new output will be sent to the standard output.  MSDOS users should note
  2862.  that the \ character has special significance in double-quoted strings, so
  2863.  single-quotes should be used for filenames in different directories.
  2864.  
  2865.  On machines with popen functions (Unix), output can be piped through a shell
  2866.  command if the first character of the filename is '|'.  For instance,
  2867.  
  2868.          set output "|lpr -Plaser filename"
  2869.          set output "|lp -dlaser filename"
  2870.  
  2871.  On MSDOS machines, `set output "PRN"` will direct the output to the default
  2872.  printer.  On VMS, output can be sent directly to any spooled device.  It is
  2873.  also possible to send the output to DECnet transparent tasks, which allows
  2874.  some flexibility.
  2875. 3 parametric
  2876. ?set parametric
  2877. ?set noparametric
  2878. ?show parametric
  2879. ?parametric
  2880. ?noparametric
  2881.  The `set parametric` command changes the meaning of `plot` (`splot`) from
  2882.  normal functions to parametric functions.  The command `set noparametric`
  2883.  restores the plotting style to normal, single-valued expression plotting.
  2884.  
  2885.  Syntax:
  2886.          set parametric
  2887.          set noparametric
  2888.          show parametric
  2889.  
  2890.  For 2-d plotting, a parametric function is determined by a pair of parametric
  2891.  functions operating on a parameter.  An example of a 2-d parametric function
  2892.  would be `plot sin(t),cos(t)`, which draws a circle (if the aspect ratio is
  2893.  set correctly---see `set size`).  `gnuplot` will display an error message if
  2894.  both functions are not provided for a parametric `plot`.
  2895.  
  2896.  For 3-d plotting, the surface is described as x=f(u,v), y=g(u,v), z=h(u,v).
  2897.  Therefore a triplet of functions is required.  An example of a 3-d parametric
  2898.  function would be `cos(u)*cos(v),cos(u)*sin(v),sin(u)`, which draws a sphere.
  2899.  `gnuplot` will display an error message if all three functions are not
  2900.  provided for a parametric `splot`.
  2901.  
  2902.  The total set of possible plots is a superset of the simple f(x) style plots,
  2903.  since the two functions can describe the x and y values to be computed
  2904.  separately.  In fact, plots of the type t,f(t) are equivalent to those
  2905.  produced with f(x) because the x values are computed using the identity
  2906.  function.  Similarly, 3-d plots of the type u,v,f(u,v) are equivalent to
  2907.  f(x,y).
  2908.  
  2909.  Note that the order the parametric functions are specified is xfunction,
  2910.  yfunction (and zfunction) and that each operates over the common parametric
  2911.  domain.
  2912.  
  2913.  Also, the `set parametric` function implies a new range of values.  Whereas
  2914.  the normal f(x) and f(x,y) style plotting assume an xrange and yrange (and
  2915.  zrange), the parametric mode additionally specifies a trange, urange, and
  2916.  vrange.  These ranges may be set directly with `set trange`, `set urange`,
  2917.  and `set vrange`, or by specifying the range on the `plot` or `splot`
  2918.  commands.  Currently the default range for these parametric variables is
  2919.  [-5:5].  Setting the ranges to something more meaningful is expected.
  2920. 3 pointsize
  2921. ?set pointsize
  2922. ?show pointsize
  2923. ?pointsize
  2924.  The `set pointsize` command changes the size of the points used in plots.
  2925.  
  2926.  Syntax:
  2927.          set pointsize <pointsize>
  2928.          show pointsize
  2929.  
  2930.  Default is pointsize 1.0.  Larger pointsizes (>1.0) are useful for high
  2931.  resolution in bitmapped graphics.
  2932.  
  2933.  Please note that the pointsize setting is not supported with all terminal
  2934.  types.
  2935. 3 polar
  2936. ?set polar
  2937. ?set nopolar
  2938. ?show polar
  2939. ?polar
  2940. ?nopolar
  2941.  The `set polar` command changes the meaning of the plot from rectangular
  2942.  co-ordinates to polar co-ordinates.
  2943.  
  2944.  Syntax:
  2945.          set polar
  2946.          set nopolar
  2947.          show polar
  2948.  
  2949.  There have been changes made to polar mode in version 3.6, so that scripts
  2950.  for `gnuplot` versions 3.5 and earlier will require modification.  The main
  2951.  change is that the dummy variable t is used for the angle so that the x and
  2952.  y ranges can be controlled independently.  Other changes are:
  2953.  1) tics are no longer put along the zero axes automatically
  2954.  ---use `set [x|y]tics axis nomirror`;
  2955.  2) the grid, if selected, is not automatically polar
  2956.  ---use `set grid polar`;
  2957.  3) the grid is not labelled with angles
  2958.  ---use `set label` as necessary.
  2959.  
  2960.  In polar co-ordinates, the dummy variable (t) is an angle.  The default range
  2961.  of t is [0:2*pi], or, if degree units have been selected, to [0:360] (see
  2962.  `set angles`).
  2963.  
  2964.  The command `set nopolar` changes the meaning of the plot back to the default
  2965.  rectangular co-ordinate system.
  2966.  
  2967.  The `set polar` command is not supported for `splot`s.  See the `set mapping`
  2968.  command for similar functionality for `splot`s.
  2969.  
  2970.  While in polar co-ordinates the meaning of an expression in t is really
  2971.  r = f(t), where t is an angle of rotation.  The trange controls the domain
  2972.  (the angle) of the function, and the x and y ranges control the range of the
  2973.  plot in the x and y directions.
  2974.  
  2975.  Example:
  2976.          set polar
  2977.          plot t*sin(t)
  2978.          plot [-2*pi:2*pi] [-3:3] [-3:3] t*sin(t)
  2979.  
  2980.  The first `plot` uses the default polar angular domain of 0 to 2*pi.  The
  2981.  radius and the size of the plot are scaled automatically.  The second `plot`
  2982.  expands the domain, and restricts the size of the plot to [-3:3] in both
  2983.  directions.
  2984.  
  2985.  You may want to `set size square` to have `gnuplot` try to make the aspect
  2986.  ratio equal to unity, so that circles look circular.
  2987. ^ <a href=polar/polar.html>Polar demos </a>
  2988. ^ <a href=poldat/poldat.html>Polar Data Plot. </a>
  2989. 3 range
  2990. ?set xrange
  2991. ?show xrange
  2992. ?xrange
  2993. ?set yrange
  2994. ?show yrange
  2995. ?yrange
  2996. ?set zrange
  2997. ?show zrange
  2998. ?zrange
  2999. ?set x2range
  3000. ?show x2range
  3001. ?x2range
  3002. ?set y2range
  3003. ?show y2range
  3004. ?y2range
  3005. ?set rrange
  3006. ?show rrange
  3007. ?rrange
  3008. ?set trange
  3009. ?show trange
  3010. ?trange
  3011. ?set urange
  3012. ?show urange
  3013. ?urange
  3014. ?set vrange
  3015. ?show vrange
  3016. ?vrange
  3017.  The `set xrange` command sets the horizontal range that will be displayed.
  3018.  A similar command exists for each of the other axes, as well as for the
  3019.  polar radius r and the parametric variables t, u, and v.
  3020.  
  3021.  Syntax:
  3022.          set xrange [{<min> : <max>}] {{no}reverse} {{no}writeback}
  3023.          set xrange [{<min> : <max>}] {{no}reverse} {{no}writeback}
  3024.          set zrange [{<min> : <max>}] {{no}reverse} {{no}writeback}
  3025.          set x2range [{<min> : <max>}] {{no}reverse} {{no}writeback}
  3026.          set y2range [{<min> : <max>}] {{no}reverse} {{no}writeback}
  3027.          set rrange [{<min> : <max>}] {{no}reverse} {{no}writeback}
  3028.          set trange [{<min> : <max>}] {{no}reverse} {{no}writeback}
  3029.          set urange [{<min> : <max>}] {{no}reverse} {{no}writeback}
  3030.          set vrange [{<min> : <max>}] {{no}reverse} {{no}writeback}
  3031.  
  3032.  where <min> and <max> terms are constants or expressions or a star to set
  3033.  autoscaling.  If the data are date/time, you must give the range as a quoted
  3034.  string according to the `set timefmt` format.  Both the <min> and <max>
  3035.  terms are optional.  Any value omitted will not be changed.
  3036.  
  3037.  The `reverse` option reverses the direction of the axis, e.g., `set xrange
  3038.  [0:1] reverse` will produce an axis with 1 on the left and 0 on the right.
  3039.  This is identical to the axis produced by `set xrange [1:0]`, of course.
  3040.  `reverse` is intended primarily for use with `autoscale`.
  3041.  
  3042.  The `writeback` option essentially saves the range found by `autoscale` in
  3043.  the min/max buffers that would be filled by `set range`.  This is useful if
  3044.  you wish to plot several functions together but have the range determined by
  3045.  only some of them.  The `writeback` operation is performed during the `plot`
  3046.  execution, so it must be specified before that command.  For example,
  3047.  
  3048.          set xrange [-10:10]
  3049.          set yrange [] writeback
  3050.          plot sin(x)
  3051.          set noautoscale y
  3052.          replot x/2
  3053.  
  3054.  results in a yrange of [-1:1] as found only from the range of sin(x); the
  3055.  [-5:5] range of x/2 is ignored.  Executing `show yrange` after each command
  3056.  in the above example should help you understand what is going on.
  3057.  
  3058.  In 2-d, `xrange` and `yrange` determine the extent of the axes, `trange`
  3059.  determines the range of the parametric variable in parametric mode or the
  3060.  range of the angle in polar mode.  Similarly in parametric 3-d, `xrange`,
  3061.  `yrange`, and `zrange` govern the axes and `urange` and `vrange` govern the
  3062.  parametric variables.  In polar mode,`rrange` determines the radial range
  3063.  plotted.  <rmin> acts as an additive constant to the radius, whereas <rmax>
  3064.  acts as a clip to the radius---no point with radius greater than <rmax> will
  3065.  be plotted.
  3066.  
  3067.  Any range may be partially or totally autoscaled, although it may not make
  3068.  sense to autoscale a parametric variable unless it is plotted with data.
  3069.  
  3070.  Ranges may also be specified on the `plot` command line.  A range given on
  3071.  the plot line will be used for that single `plot` command; a range given by
  3072.  a `set` command will be used for all subsequent plots that do not specify
  3073.  their own ranges.  The same holds true for `splot`.
  3074.  
  3075.  Examples:
  3076.  To set the xrange to the default:
  3077.          set xrange [-10:10]
  3078.  To set the yrange to increase downwards:
  3079.          set yrange [10:-10]
  3080.  To change zmax to 10 without affecting zmin (which may still be autoscaled):
  3081.          set zrange [:10]
  3082.  To autoscale xmin while leaving xmax unchanged:
  3083.          set xrange [*:]
  3084. 3 rmargin
  3085.  The command `set rmargin` sets the size of the right margin.  Please see
  3086.  `set margins` for details.
  3087. 3 rrange
  3088. ?set rrange
  3089. ?show rrange
  3090. ?rrange
  3091.  For a polar plot, the radial co-ordinate should be non-negative, but `rrange`
  3092.  can be used to move the singularity.
  3093.  
  3094.  Syntax:
  3095.          set rrange {[<rmin>:<rmax>]}
  3096.          show rrange
  3097.  
  3098.  `rmin` specifies the radius at the origin and `rmax` provides clipping for
  3099.  large radii.  `xrange` and `yrange` are affected---the ranges can be set as
  3100.  if the plot was of r(t)-rmin, with rmin added to all the labels.  (`set term
  3101.  table` reveals that it is in fact implemented that way.)
  3102. 3 samples
  3103. ?set samples
  3104. ?show samples
  3105. ?samples
  3106.  The sampling rate of functions may be changed by the `set samples` command.
  3107.  
  3108.  Syntax:
  3109.          set samples <samples_1> {,<samples_2>}
  3110.          show samples
  3111.  
  3112.  By default, sampling is set to 100 points.  A higher sampling rate will
  3113.  produce more accurate plots, but will take longer.  This parameter no longer
  3114.  has any effect on data-file plotting.
  3115.  
  3116.  When a 2-d plot is being done, only the value of <samples_1> is relevant.
  3117.  
  3118.  When a surface plot is being done without the removal of hidden lines, the
  3119.  value of samples specifies the number of samples that are to be evaluated for
  3120.  isoline.  Each iso-v line will have <sample_1> samples and each iso-u line
  3121.  will have <sample_2> samples.  If you only specify <samples_1>, <samples_2>
  3122.  will be set to the same value as <samples_1>.  See also `set isosamples`.
  3123. 3 size
  3124. ?set size
  3125. ?show size
  3126. ?size
  3127.  The `set size` command scales the displayed size of the plot.
  3128.  
  3129.  Syntax:
  3130.          set size {{no}square} {<xscale>,<yscale>}
  3131.          show size
  3132.  
  3133.  The <xscale> and <yscale> values are the scaling factors for the size.  The
  3134.  defaults (1,1) are selected if the scaling factors are omitted.  If `square`
  3135.  is specified, `gnuplot` will attempt to make the plot area square, to give
  3136.  polar plots the correct aspect ratio, for example.  Success depends on the
  3137.  terminal driver selected.  The plot area will be the largest square that will
  3138.  fit into the specified portion of the output.
  3139.  
  3140.  Note that the size of the plot includes the space used by the labels; the
  3141.  plotting area itself is smaller.  `square` takes only the plotting area into
  3142.  account.
  3143.  
  3144.  If `set key out` is specified, the key is drawn at the far right edge of the
  3145.  usable area---you can use something like
  3146.     `set size square 0.9,1`
  3147.  to bring it closer to the square plotting area.
  3148.  
  3149.  On some terminals, changing the size of the plot will result in text being
  3150.  misplaced.  Increasing the size of the plot may produce strange results.
  3151.  Decreasing is safer.
  3152.  
  3153.  Examples:
  3154.  
  3155.  To set the size to normal size use:
  3156.          set size 1,1
  3157.  To make the plot half size and square use:
  3158.          set size square 0.5,0.5
  3159.  To show the size use:
  3160.          show size
  3161.  
  3162.  For the LaTeX and Fig terminals the default size (scale factor 1,1) is 5
  3163.  inches wide by 3 inches high.  The big Fig terminal (`bfig`) is 7 inches wide
  3164.  by 5 inches high.  The PostScript default is landscape mode 10 inches wide
  3165.  and 7 inches high; portrait mode has these dimensions reversed, and EPS cuts
  3166.  them in half.
  3167. 3 style
  3168. ?set style
  3169. ?show style
  3170.  Default styles are chosen with the `set function style` and `set data style`
  3171.  commands.  See `plot style` for information about how to override the default
  3172.  plotting style for individual functions and data sets.
  3173.  
  3174.  Syntax:
  3175.          set function style <style>
  3176.          set data style <style>
  3177.          show function style
  3178.          show data style
  3179.  
  3180.  The types used for all line and point styles (i.e., solid, dash-dot, color,
  3181.  etc. for lines; circles, squares, crosses, etc. for points) will be either
  3182.  those specified on the `plot` or `splot` command or will be chosen
  3183.  sequentially from the types available to the terminal in use.  Use the
  3184.  command `test` to see what is available.
  3185.  
  3186.  None of the `errorbars` styles can be used with `splot`s or function `plot`s.
  3187.  If one is specified, it will be changed to `points`.
  3188.  
  3189.  For 2-d data with more than two columns, `gnuplot` is picky about the allowed
  3190.  `errorbar` styles:
  3191.  
  3192.  For three columns, only `xerrorbars`, `yerrorbars` (or `errorbars`), `boxes`,
  3193.  and `boxerrorbars` are allowed.  If another plot style is used, the style
  3194.  will be changed to `yerrorbars`.  The `boxerrorbars` style will calculate the
  3195.  boxwidth automatically.
  3196.  
  3197.  For four columns, only `xerrorbars`, `yerrorbars` (or `errorbars`),
  3198.  `xyerrorbars`, `boxxyerrorbars`, and `boxerrorbars`, are allowed.  An illegal
  3199.  plot style will be changed to `yerrorbars`.
  3200.  
  3201.  Five-column data allow only the `boxerrorbars` style.  An illegal style will
  3202.  be changed to `boxerrorbars` before plotting.
  3203.  
  3204.  Six- and seven-column data only allow the `xyerrorbars` and `boxxyerrorbars`
  3205.  styles.  Illegal styles will be changed to `xyerrorbars` before plotting.
  3206.  
  3207.  Use the `using` option on the `plot` command to set up the correct number of
  3208.  columns for the style you want.
  3209. 4 bezier
  3210. ?set style bezier
  3211. ?style bezier
  3212. ?bezier
  3213.  The `bezier` style connects adjacent points with Bezier curves.
  3214. 4 boxerrorbars
  3215. ?set style boxerrorbars
  3216. ?style boxerrorbars
  3217. ?boxerrorbars
  3218.  The `boxerrorbars` style is only relevant to 2-d data plotting.  It is a
  3219.  combination of the `boxes` and `yerrorbars` styles.  The boxwidth will come
  3220.  from the fourth column if the y errors are in the form of "ydelta" and the
  3221.  boxwidth was not previously set equal to -2.0 (`set boxwidth -2.0`) or from
  3222.  the fifth column if the y errors are in the form of "ylow yhigh".  The
  3223.  special case  `boxwidth = -2.0` is for four-column data with y errors in the
  3224.  form "ylow yhigh".  In this case the boxwidth will be calculated so that each
  3225.  box touches the adjacent boxes.  The width will also be calculated in cases
  3226.  where three-column data are used.
  3227.  
  3228.  The box height is determined from the y error in the same way as it is for
  3229.  the `yerrorbars` style---either from y-ydelta to y+ydelta or from ylow to
  3230.  yhigh, depending on how many data columns are provided.
  3231. 4 boxes
  3232. ?set style boxes
  3233. ?style boxes
  3234. ?boxes
  3235. ?set style bargraph
  3236. ?style bargraph
  3237. ?bargraph
  3238.  The `boxes` style is only relevant to 2-d plotting.  It draws a box centered
  3239.  about the given x co-ordinate from the x axis (not the plot border) to the
  3240.  given y co-ordinate.  The width of the box is obtained in one of three ways.
  3241.  If it is a data plot and the data file has a third column, this will be used
  3242.  to set the width of the box.  If not, if a width has been set using the `set
  3243.  boxwidth` command, this will be used.  If neither of these is available, the
  3244.  width of each box will be calculated automatically so that it touches the
  3245.  adjacent boxes.
  3246. 4 boxxyerrorbars
  3247. ?set style boxxyerrorbars
  3248. ?style boxxyerrorbars
  3249. ?boxxyerrorbars
  3250.  The `boxxyerrorbars` style is only relevant to 2-d data plotting.  It is a
  3251.  combination of the `boxes` and `xyerrorbars` styles.
  3252.  
  3253.  The box width and height are determined from the x and y errors in the same
  3254.  way as they are for the `xyerrorbars` style---either from xlow to xhigh and
  3255.  from ylow to yhigh, or from x-xdelta to x+xdelta and from y-ydelta to
  3256.  y+ydelta , depending on how many data columns are provided.
  3257. 4 csplines
  3258. ?set style csplines
  3259. ?style csplines
  3260. ?csplines
  3261.  The `csplines` style connects adjacent points with cubic splines.
  3262. 4 dots
  3263. ?set style dots
  3264. ?style dots
  3265. ?dots
  3266.  The `dots` style plots a tiny dot at each point; this is useful for scatter
  3267.  plots with many points.
  3268. 4 fsteps
  3269. ?set style fsteps
  3270. ?style fsteps
  3271. ?fsteps
  3272.  The `fsteps` style is only relevant to 2-d plotting.  It connects consecutive
  3273.  points with two line segments: the first from (x1,y1) to (x1,y2) and the
  3274.  second from (x1,y2) to (x2,y2).
  3275. 4 impulses
  3276. ?set style impulses
  3277. ?style impulses
  3278. ?impulses
  3279.  The `impulses` style displays a vertical line from the x axis (not the plot
  3280.  border), or from the grid base for `splot`, to each point.
  3281. 4 lines
  3282. ?set style lines
  3283. ?style lines
  3284. ?lines
  3285.  The `lines` style connects adjacent points with straight line segments.
  3286. 4 linespoints
  3287. ?set style linespoints
  3288. ?style linespoints
  3289. ?linespoints
  3290.  The `linespoints` style does both `lines` and `points`, that is, it draws a
  3291.  small symbol at each point and then connects adjacent points with straight
  3292.  line segments.  The command `set pointsize` may be used to change the size of
  3293.  the points.  See `set pointsize` for its usage.
  3294. 4 points
  3295. ?set style points
  3296. ?style points
  3297. ?points
  3298.  The `points` style displays a small symbol at each point.  The command `set
  3299.  pointsize` may be used to change the size of the points.  See `set pointsize`
  3300.  for its usage.
  3301. 4 sbezier
  3302. ?set style sbezier
  3303. ?style sbezier
  3304. ?sbezier
  3305.  The `sbezier` style connects adjacent points with Bezier curves different in
  3306.  some way from those used by the `bezier` style.
  3307. 4 splines
  3308. ?set style splines
  3309. ?style splines
  3310. ?splines
  3311.  The `splines` style connects adjacent points with quadratic splines.
  3312. 4 steps
  3313. ?set style steps
  3314. ?style steps
  3315. ?steps
  3316.  The `steps` style is only relevant to 2-d plotting.  It connects consecutive
  3317.  points with two line segments: the first from (x1,y1) to (x2,y1) and the
  3318.  second from (x2,y1) to (x2,y2).
  3319. 4 vectors
  3320. ?set style vectors
  3321. ?style vectors
  3322. ?vectors
  3323.  The `vectors` style draws a vector from (x,y) to (x+xdelta,y+ydelta).  Thus
  3324.  it requires four columns of data.  It also draws a small arrowhead at the
  3325.  end of the vector.
  3326.  
  3327.  The `vectors` style is still experimental: it doesn't get clipped properly
  3328.  and other things may also be wrong with it.  Use it at your own risk.
  3329. 4 xerrorbars
  3330. ?set style xerrorbars
  3331. ?style xerrorbars
  3332. ?xerrorbars
  3333.  The `xerrorbars` style is only relevant to 2-d data plots.  `xerrorbars` is
  3334.  like `dots`, except that a horizontal error bar is also drawn.  At each point
  3335.  (x,y), a line is drawn from (xlow,y) to (xhigh,y) or from (x-xdelta,y) to
  3336.  (x+xdelta,y), depending on how many data columns are provided.  A tic mark
  3337.  is placed at the ends of the error bar (unless `set bar small` is used).
  3338. 4 xyerrorbars
  3339. ?set style xyerrorbars
  3340. ?style xyerrorbars
  3341. ?xyerrorbars
  3342.  The `xyerrorbars` style is only relevant to 2-d data plots.  `xyerrorbars` is
  3343.  like `dots`, except that horizontal and vertical error bars are also drawn.
  3344.  At each point (x,y), lines are drawn from (x,y-ydelta) to (x,y+ydelta) and
  3345.  from (x-xdelta,y) to (x+xdelta,y) or from (x,ylow) to (x,yhigh) and from
  3346.  (xlow,y) to (xhigh,y), depending upon the number of data columns provided.  A
  3347.  tic mark is placed at the ends of the error bar (unless `set bar small` is
  3348.  used).
  3349.  
  3350.  If data are provided in an unsupported mixed form, the `using` filter on the
  3351.  `plot` command should be used to set up the appropriate form.  For example,
  3352.  if the data are of the form (x,y,xdelta,ylow,yhigh), then you can use
  3353.  
  3354.         plot 'data' using 1:2:($1-$3),($1+$3),4,5 with xyerrorbars
  3355. 4 yerrorbars
  3356. ?set style yerrorbars
  3357. ?style yerrorbars
  3358. ?yerrorbars
  3359. ?set style errorbars
  3360. ?style errorbars
  3361. ?errorbars
  3362.  The `yerrorbars` (or `errorbars`) style is only relevant to 2-d data plots.
  3363.  `yerrorbars` is like `dots`, except that a vertical error bar is also drawn.
  3364.  At each point (x,y), a line is drawn from (x,y-ydelta) to (x,y+ydelta) or
  3365.  from (x,ylow) to (x,yhigh), depending on how many data columns are provided.
  3366.  A tic mark is placed at the ends of the error bar (unless `set bar small` is
  3367.  used).
  3368. 3 surface
  3369. ?set surface
  3370. ?set nosurface
  3371. ?show surface
  3372. ?surface
  3373.  The command `set surface` controls the display of surfaces, which are drawn
  3374.  as a mesh of isolines.
  3375.  
  3376.  Syntax:
  3377.          set surface
  3378.          set nosurface
  3379.          show surface
  3380.  
  3381.  Whenever `set nosurface` is issued, no surface isolines/mesh will be drawn.
  3382.  This is useful if contours are to be displayed by themselves.  See also `set
  3383.  contour`.
  3384. 3 terminal
  3385. ?set terminal
  3386. ?show terminal
  3387. ?terminal
  3388.  `gnuplot` supports many different graphics devices.  Use the `set terminal`
  3389.  command to select the type of device for which `gnuplot` will produce output.
  3390.  
  3391.  Syntax:
  3392.          set terminal {<terminal-type>}
  3393.          show terminal
  3394.  
  3395.  If <terminal-type> is omitted, `gnuplot` will list the available terminal
  3396.  types.  <terminal-type> may be abbreviated.
  3397.  
  3398.  Use `set output` to redirect this output to a file or device.
  3399.  
  3400.  Several terminals have additional options.  For example, see `dumb`,
  3401.  `iris4d`, `hpljii` or `postscript`.
  3402. 3 - paste here the help from the .trm files, at level 4 onwards
  3403. 4 atari ST (via AES)
  3404. ?set terminal atari
  3405. ?atari
  3406.  The `atari` terminal has options to set the character size and the screen
  3407.  colors.  The driver expects a space-separated list containing the character
  3408.  size and up to 16 three-digit hex numbers, where each digit represents RED,
  3409.  GREEN and BLUE (in that order).  The range of 0--15 is scaled to whatever
  3410.  color range the screen actually has.  On a normal ST screen, odd and even
  3411.  intensities are the same.
  3412.  
  3413.  Examples:
  3414.  
  3415.         set terminal atari 4 # (use small (6x6) font)
  3416.         set terminal atari 6 0 # (set monochrome screen to white on black)
  3417.         set terminal atari 13 0 fff f00 f0 f ff f0f ff0
  3418.         # (set first eight colors to black, white, green, blue, cyan, \
  3419.           purple, and yellow and use large font (8x16).)
  3420.  
  3421.  Additionally, if an environment variable GNUCOLORS exists, its contents are
  3422.  interpreted as an options string, but an explicit terminal option takes
  3423.  precedence.
  3424. 4 atari ST (via VDI)
  3425. ?set terminal vdi
  3426. ?vdi
  3427.  This terminal is the same as the `atari` terminal, except for the fact that
  3428.  it sends output to the screen via the VDI and not into AES-Windows.)
  3429.  
  3430.  The `vdi` terminal has the same options as the `atari` terminal.
  3431.  
  3432. 4 atari ST (for Multitasking Systems)
  3433. ?set terminal mtos
  3434. ?mtos
  3435.  The `mtos` terminal has no options.  It sends data via a pipe to an external
  3436.  program called GPCLIENT.  It runs under MiNT, MULTITOS and Magic 3.x.
  3437. 4 epson
  3438. ?set terminal epson
  3439. ?set terminal epson180
  3440. ?set terminal epson60
  3441. ?set terminal starc
  3442. ?set terminal tandy60
  3443. ?epson
  3444.  This set of drivers support Epson printers and derivatives.  `epson` is a
  3445.  generic 9-wire printer with a resolution of 512x384.  `starc` is a Star Color
  3446.  printer with the same resolution.  `epson180` and `epson60` are 180-dpi and
  3447.  60-dpi drivers for newer 24-wire printers.  This also includes bubble jet
  3448.  printers.  Their resolutions are 1260x1080 and 480x360, respectively.  The
  3449.  `tandy60` is identical to the `epson60` driver with one additional escape
  3450.  sequence to start IBM mode.
  3451.  
  3452.  With all of these drivers, a binary copy is required on a PC to print.  Do
  3453.  not use `print`:
  3454.  
  3455.         copy file /b lpt1:
  3456. 4 gpic
  3457. ?set terminal gpic
  3458. ?gpic
  3459.  This driver is only known to work with the Free Software Foundation
  3460.  gpic/groff package.  Modification for the Document Workbench pic/troff
  3461.  package would be appreciated.  FSF gpic can also produce TeX output.
  3462.  
  3463.  A simple graph can be formatted using
  3464.  
  3465.       groff -p -mpic -Tps file.pic > file.ps.
  3466.  
  3467.  The output from pic can be pipe-lined into eqn, so it is possible to put
  3468.  complex functions in a graph with the set label and set {x/y}label commands.
  3469.  For instance,
  3470.  
  3471.     set ylab '@space 0 int from 0 to x alpha ( t ) roman d t@'
  3472.  
  3473.  will label the y axis with a nice integral if formatted with the command:
  3474.  
  3475.     gpic filename.pic | geqn -d@@ -Tps | groff -m[macro-package] -Tps
  3476.          > filename.ps
  3477.  
  3478.  Figures made this way can be scaled to fit into a document.  The pic language
  3479.  is easy to understand, so the graphs can be edited by hand if need be.  All
  3480.  co-ordinates in the pic-file produced by `gnuplot` are given as x+gnuplotx
  3481.  and y+gnuploty.  By default x and y are given the value 0.  If this line is
  3482.  removed with an editor in a number of files, one can put several graphs in
  3483.  one figure like this (default size is 5.0x3.0 inches):
  3484.  
  3485.     .PS 8.0
  3486.     x=0;y=3
  3487.     copy "figa.pic"
  3488.     x=5;y=3
  3489.     copy "figb.pic"
  3490.     x=0;y=0
  3491.     copy "figc.pic"
  3492.     x=5;y=0
  3493.     copy "figd.pic"
  3494.     .PE
  3495.  
  3496.  This will produce an 8-inch-wide figure with four graphs in two rows on top
  3497.  of each other.
  3498.  
  3499.  One can also achieve the same thing by the command
  3500.  
  3501.    set term pic x y
  3502.  
  3503.  For example, using
  3504.  
  3505.    .PS 6.0
  3506.    copy "trig.pic"
  3507.    .PE
  3508. 4 hpljii
  3509. ?set terminal hpljii
  3510. ?hpljii
  3511.  The HP LaserJet II and HP DeskJet drivers have a single option.
  3512.  
  3513.  Syntax:
  3514.          set terminal hpljii {<resolution>}
  3515.          set terminal hpdj   {<resolution>}
  3516.  
  3517.  where <resolution> is the resolution of the output in dots per inch.  It must
  3518.  be `75`, `100`, `150` or `300`.  Note: there must be enough memory available
  3519.  to rasterize at the higher resolutions.
  3520.  
  3521.  Example:
  3522.          set terminal hpljii 150
  3523. 4 imagen
  3524. ?set terminal imagen
  3525. ?imagen
  3526.  The imagen driver is able to draw several plots on each page (in either
  3527.  portrait or landscape orientation), and fontsize may also be specified.
  3528.  
  3529.  Options are:
  3530.        portrait
  3531.        landscape        (default)
  3532.        [ x , y ]        (where x and y are the number of plots in the x and y
  3533.                          directions on the page)
  3534.        n                (where n is fontsize in points)
  3535.  
  3536.  To plot 6 plots per page in two columns in portrait orientation:
  3537.        set term imagen po [2,3]
  3538.  
  3539. 4 iris4d
  3540. ?set terminal iris4d
  3541. ?iris4d
  3542.  The iris4d driver can operate in two modes.
  3543.  
  3544.  Syntax:
  3545.          set terminal iris4d {24}
  3546.  
  3547.  If the hardware supports only 8 bits, use the default `set terminal iris4d`.
  3548.  If, however, the hardware supports 24 bits (8 per red/green/blue), use `set
  3549.  terminal iris4d 24`.
  3550.  
  3551.  When using 24-bit mode, the colors can be directly specified via the file
  3552.  .gnuplot_iris4d that is searched in the current directory and then in the
  3553.  home directory specified by the HOME environment variable.  This file holds
  3554.  RGB values for the background, border, labels and nine plotting colors, in
  3555.  that order.  For example, here is a file containing the default colors:
  3556.  
  3557.          85   85   85     /* Background */
  3558.          0    0    0      /* Boundary */
  3559.          170  0    170    /* Labeling */
  3560.          85   255  255    /* Plot Color 1 */
  3561.          170  0    0      /* Plot Color 2 */
  3562.          0    170  0      /* Plot Color 3 */
  3563.          255  85   255    /* Plot Color 4 */
  3564.          255  255  85     /* Plot Color 5 */
  3565.          255  85   85     /* Plot Color 6 */
  3566.          85   255  85     /* Plot Color 7 */
  3567.          0    170  170    /* Plot Color 8 */
  3568.          170  170  0      /* Plot Color 9 */
  3569.  
  3570.  This file has exactly 12 lines of RGB triples.  No empty lines are allowed
  3571.  and anything after the third number in line is ignored.
  3572. 4 nec-cp6
  3573. ?set terminal nec-cp6
  3574. ?nec-cp6
  3575.  One option may be set in the nec-cp6 driver.  The resolution of this driver
  3576.  is 400x320.
  3577.  
  3578.  Syntax:
  3579.          set terminal nec-cp6 monochrome
  3580.          set terminal nec-cp6 color
  3581.          set terminal nec-cp6 draft
  3582. 4 pcl5
  3583. ?set terminal pcl5
  3584. ?pcl5
  3585.  Three options may be set in the pcl5 driver.  The driver actually uses HPGL-2
  3586.  but there is a name conflict among the terminal devices.
  3587.  
  3588.  Syntax:
  3589.          set terminal pcl5 {<mode>} {<font>} {<fontsize>}
  3590.  
  3591.  where <mode> is `landscape`, or `portrait`, <font> is `stick`, `univers`, or
  3592.  `cg_times`, and fontsize is the size in points.
  3593.  
  3594.  Example:
  3595.          set terminal pcl5 landscape
  3596.  
  3597. 4 tgif
  3598. ?set terminal tgif
  3599. ?tgif
  3600.  The Tgif driver supports different pointsizes (with `set pointsize`),
  3601.  different label fonts and font sizes (e.g. `set label "Hallo" at x,y font
  3602.  "Helvetica,34"`) and multiple plots on the page.  The proportions of the axes
  3603.  are not changed.
  3604.  
  3605.  Syntax:
  3606.          set terminal tgif {<mode>} {<[x,y]>} {<dashed>} \
  3607.                            {"<fontname>"} {<fontsize>}
  3608.  
  3609.  where <mode> is `portrait` or `landscape`, <[x,y]> specifies the number of
  3610.  plots in the x and y directions on the page, <dashed> is either `solid` or
  3611.  `dashed`, "<fontname>" is the name of a valid PostScript font, and <fontsize>
  3612.  specifies the size of the PostScript font.  Defaults are `portrait`, `[1,1]`,
  3613.  `dashed`, `"Helvetica"`, and `18`.
  3614.  
  3615.  The `solid` option is usually prefered if lines are colored, as they often
  3616.  are in the editor.  Hardcopy will be black-and-white, so `dashed` should be
  3617.  chosen for that.
  3618.  
  3619.  Multiplot is implemented in two different manners.
  3620.  
  3621.  The first multiplot implementation is the standard gnuplot multiplot feature:
  3622.  
  3623.    set term tgif
  3624.    set output "file.obj"
  3625.    set multiplot
  3626.    set origin x01,y01
  3627.    set size  xs,ys
  3628.    plot ...
  3629.         ...
  3630.    set origin x02,y02
  3631.    plot ...
  3632.    set nomultiplot
  3633.  
  3634.  See `set multiplot` for further information.
  3635.  
  3636.  The second version is the [x,y] option for the driver itself.  The advantage
  3637.  of this implementation is that everything is scaled and placed automatically
  3638.  without the need for setting origins and sizes; the plots keep their natural
  3639.  x/y proportions of 3/2 (or whatever is fixed by `set size`).
  3640.  
  3641.  If both multiplot methods are selected, the standard method is chosen and a
  3642.  warning message appears.
  3643.  
  3644.  Examples of single plots (or standard multiplot):
  3645.          set term tgif                  # -> portrait
  3646.          set term tgif "Times-Roman" 24 # -> Times-Roman font of size 24
  3647.          set term tgif landscape        # -> landscape
  3648.          set term tgif landscape solid  # -> landscape and solid lines
  3649.  
  3650.  Examples using the built-in multiplot mechanism:
  3651.          set term tgif portrait [2,4]   # -> 2 plots in x and 4 in y-direction
  3652.          set term tgif [1,2]            # -> 1 plot  in x and 2 in y-direction
  3653.          set term tgif landscape [3,3]  # -> landscape, with 3 plots in both
  3654.                                         #    x- and  y-directions
  3655. 4 uniplex
  3656. ?set terminal uniplex
  3657. ?uniplex
  3658.  The uniplex driver is able to combine several plots in one image.  The option
  3659.  portrait causes the image to be drawn in a window where the width is about
  3660.  2/3 of the height (default is landscape---the image height is about 2/3 of
  3661.  the width).  The fontsize may also be specified (sizes 1--8).  Only one image
  3662.  is allowed per file.  If an 'X' is included in the `set output` filename, the
  3663.  'X' is replaced by a sequential plot number.
  3664.  
  3665.  Options are:
  3666.        portrait
  3667.        landscape        (default)
  3668.        [ x , y ]        (where x and y are the number of plots in the x and y
  3669.                          directions of the image)
  3670.        n                (where n is fontsize (1--8))
  3671.  
  3672.  To plot 6 plots in one image in two columns in portrait orientation:
  3673.        set term uniplex po [2,3]
  3674. 4 windows
  3675. ?set terminal windows
  3676. ?windows
  3677.  Three options may be set in the windows driver.
  3678.  
  3679.  Syntax:
  3680.          set terminal windows {<color>} {"<fontname>"} {<fontsize>}
  3681.  
  3682.  `<color>` is either `color` or `monochrome`, `"<fontname>"` is the name of a
  3683.  valid Windows font, and `<fontsize>` is the size of the font in points.
  3684. 5 graph-menu
  3685. ?set terminal windows graph-menu
  3686. ?graph-menu
  3687.  The `gnuplot graph` window has the following options on a pop-up menu
  3688.  accessed by pressing the right mouse button or selecting `Options` from the
  3689.  system menu:
  3690.  
  3691.  `Bring to Top` when checked brings the graph window to the top after every
  3692.  plot.
  3693.  
  3694.  `Color` when checked enables color linestyles.  When unchecked it forces
  3695.  monochrome linestyles.
  3696.  
  3697.  `Copy to Clipboard` copies a bitmap and a Metafile picture.
  3698.  
  3699.  `Background...` sets the window background color.
  3700.  
  3701.  `Choose Font...` selects the font used in the graphics window.
  3702.  
  3703.  `Line Styles...` allows customization of the line colors and styles.
  3704.  
  3705.  `Print...` prints the graphics windows using a Windows printer driver and
  3706.  allows selection of the printer and scaling of the output.  The output
  3707.  produced by `Print` is not as good as that from `gnuplot`'s own printer
  3708.  drivers.
  3709.  
  3710.  `Update wgnuplot.ini` saves the current window locations, window sizes, text
  3711.  window font, text window font size, graph window font, graph window font
  3712.  size, background color and linestyles to the initialization file
  3713.  `WGNUPLOT.INI`.
  3714. 5 printing
  3715. ?set terminal windows printing
  3716. ?printing
  3717.  In order of preference, graphs may be be printed in the following ways.
  3718.  
  3719.  `1.` Use the `gnuplot` command `set terminal` to select a printer and `set
  3720.  output` to redirect output to a file.
  3721.  
  3722.  `2.` Select the `Print...` command from the `gnuplot graph` window.  An extra
  3723.  command `screendump` does this from the text window.
  3724.  
  3725.  `3.` If `set output "PRN"` is used, output will go to a temporary file.  When
  3726.  you exit from `gnuplot` or when you change the output with another `set
  3727.  output` command, a dialog box will appear for you to select a printer port.
  3728.  If you choose OK, the output will be printed on the selected port, passing
  3729.  unmodified through the print manager.  It is possible to accidentally (or
  3730.  deliberately) send printer output meant for one printer to an incompatible
  3731.  printer.
  3732. 5 text-menu
  3733. ?set terminal windows text-menu
  3734. ?text-menu
  3735.  The `gnuplot text` window has the following options on a pop-up menu accessed
  3736.  by pressing the right mouse button or selecting `Options` from the system
  3737.  menu:
  3738.  
  3739.  `Copy to Clipboard` copies marked text to the clipboard.
  3740.  
  3741.  `Paste` copies text from the clipboard as if typed by the user.
  3742.  
  3743.  `Choose Font...` selects the font used in the text window.
  3744.  
  3745.  `System Colors` when selected makes the text window honor the System Colors
  3746.  set using the Control Panel.  When unselected, text is black or blue on a
  3747.  white background.
  3748.  
  3749.  `Update wgnuplot.ini` saves the current text window location, text window
  3750.  size, text window font and text window font size to the initialisation file
  3751.  `WGNUPLOT.INI`.
  3752.  
  3753.  `MENU BAR`
  3754.  
  3755.  If the menu file `WGNUPLOT.MNU` is found in the same directory as
  3756.  WGNUPLOT.EXE, then the menu specified in `WGNUPLOT.MNU` will be loaded.
  3757.  
  3758.  Menu commands are:
  3759.    [Menu]       Start a new menu with the name on the following line
  3760.    [EndMenu]    End current menu.
  3761.    --           Insert a horizontal menu separator
  3762.    |            Insert a vertical menu separator
  3763.    [Button]     Put next macro on a push button instead of a menu.
  3764.  
  3765.  Macros take two lines with the macro name (menu entry) on the first line and
  3766.  the macro on the second line.  Leading spaces are ignored.
  3767.  
  3768.  Macros commands are:
  3769.    [INPUT]      Input string with prompt terminated by [EOS] or {ENTER}
  3770.    [EOS]        End Of String terminator.  Generates no output.
  3771.    [OPEN]       Get name of file to open from list box, with title of list box
  3772.                 terminated by [EOS], followed by default filename terminated
  3773.                 by [EOS] or {ENTER}.  This uses COMMDLG.DLL from Windows 3.1.
  3774.    [SAVE]       Get name of file to save.  Similar to [OPEN]
  3775.  
  3776.  Macros character substitutions are:
  3777.    {ENTER}      Carriage Return '\r'
  3778.    {TAB}        Tab     '\011'
  3779.    {ESC}        Escape  '\033'
  3780.    {^A}         '\001'
  3781.    ...
  3782.    {^_}         '\031'
  3783.  
  3784.  Macros are limited to 256 characters after expansion.
  3785. 5 wgnuplot.ini
  3786. ?set terminal windows wgnuplot.ini
  3787. ?wgnuplot.ini
  3788.  Windows `gnuplot` will read some of its options from the `[WGNUPLOT]` section
  3789.  of `WGNUPLOT.INI` in the Windows directory.  An example `WGNUPLOT.INI` file
  3790.  is shown below.
  3791.  
  3792.   [WGNUPLOT]
  3793.   TextOrigin=0 0
  3794.   TextSize=640 150
  3795.   TextFont=Terminal,9
  3796.   GraphOrigin=0 150
  3797.   GraphSize=640 330
  3798.   GraphFont=Arial,10
  3799.   GraphColor=1
  3800.   GraphToTop=1
  3801.   GraphBackground=255 255 255
  3802.   Border=0 0 0 0 0
  3803.   Axis=192 192 192 2 2
  3804.   Line1=0 0 255 0 0
  3805.   Line2=0 255 0 0 1
  3806.   Line3=255 0 0 0 2
  3807.   Line4=255 0 255 0 3
  3808.   Line5=0 0 128 0 4
  3809.  
  3810.  The `GraphFont` entry specifies the font name and size in points.  The five
  3811.  numbers given in the `Border`, `Axis` and `Line` entries are the `Red`
  3812.  intensity (0--255), `Green` intensity, `Blue` intensity, `Color Linestyle`
  3813.  and `Mono Linestyle`.  `Linestyles` are 0=SOLID, 1=DASH, 2=DOT, 3=DASHDOT,
  3814.  4=DASHDOTDOT.  In the example `WGNUPLOT.INI` file above, Line 2 is a green
  3815.  solid line in color mode, or a dashed line in monochrome mode.  The default
  3816.  line width is 1 pixel.  If `Linestyle` is negative, it specifies the width of
  3817.  a SOLID line in pixels.  Line1 and any linestyle used with the `points` style
  3818.  must be SOLID with unit width.
  3819. 5 windows3.0
  3820. ?set terminal windows windows3.0
  3821. ?windows3.0
  3822.  Windows 3.1 is preferred, but WGNUPLOT will run under Windows 3.0 with the
  3823.  following restrictions:
  3824.  
  3825.  `1.` COMMDLG.DLL and SHELL.DLL (available with Windows 3.1 or Borland C++
  3826.  3.1) must be in the windows directory.
  3827.  
  3828.  `2.` WGNUPLOT.HLP produced by Borland C++ 3.1 is in Windows 3.1 format.
  3829.  You need to use the WINHELP.EXE supplied with Borland C++ 3.1.
  3830.  
  3831.  `3.` It won't run in real mode due to lack of memory.
  3832.  
  3833.  `4.` TrueType fonts are not available in the graph window.
  3834.  
  3835.  `5.` Drag-drop does not work.
  3836. 3 tics
  3837. ?set tics
  3838. ?show tics
  3839. ?tics
  3840.  The `set tics` command can be used to change the tics to be drawn outwards.
  3841.  
  3842.  Syntax:
  3843.          set tics {<direction>}
  3844.          show tics
  3845.  
  3846.  where <direction> may be `in` or `out`.  `set tics` defaults to `in`.  `show
  3847.  tics` displays a lot of information about the tics.
  3848.  
  3849.  It is now necessary to do
  3850.    set xtics nomirror ; set ytics nomirror
  3851.  in order to switch off the duplicate tics on top and right borders.  This is
  3852.  useful when doing impulse plots.
  3853.  
  3854.  See also the `set xtics`, `set ytics`, and `set ztics` commands for more
  3855.  control of tic marks and `set mxtics`, `set mytics`, and `set mztics` for
  3856.  minor tic marks.
  3857. 3 ticslevel
  3858. ?set ticslevel
  3859. ?show ticslevel
  3860. ?ticslevel
  3861.  Using `splot`, one can adjust the relative height of the vertical (Z) axis
  3862.  using `set ticslevel`.  The numeric argument provided specifies the location
  3863.  of the bottom of the scale.  A zero will put it on the bottom grid and any
  3864.  positive number somewhere along the z axis.
  3865.  
  3866.  Syntax:
  3867.          set ticslevel {<level>}
  3868.          show tics
  3869.  
  3870.  where <level> is a non-negative numeric argument.  For example,
  3871.  
  3872.          set ticslevel 0.5
  3873.  
  3874.  sets the tics level to the default value.
  3875.  
  3876.  See also `set view`.
  3877. 3 ticscale
  3878. ?set ticscale
  3879. ?ticscale
  3880.  The size of the tic marks can be adjusted with `set ticscale`.
  3881.  
  3882.  Syntax:
  3883.          set ticscale {<major> {<minor>}}
  3884.          show tics
  3885.  
  3886.  If <minor> is not specified, it is 0.5*<major>.  The default size is 1.0 for
  3887.  major tics and 0.5 for minor tics.  Note that it is possible to have the tic
  3888.  marks pointing outward by specifying a negative size.
  3889. 3 time
  3890. ?set time
  3891. ?show time
  3892. ?time
  3893.  The optional `set time` places the time and date of the plot either at the
  3894.  top or bottom of the left margin.  The exact location is device dependent.
  3895.  
  3896.  Syntax:
  3897.          set time {<xoff>}{,<yoff>}
  3898.          set notime
  3899.          show time
  3900.  
  3901.  Specifying constants <xoff> or <yoff> as optional offsets for the time will
  3902.  move the time <xoff> or <yoff> character-screen co-ordinates.  For example,
  3903.  
  3904.          set time ,-3
  3905.  
  3906.  will change only the y offset of the time, moving the title down by roughly
  3907.  the height of three characters.
  3908. 3 timefmt
  3909. ?set timefmt
  3910. ?show timefmt
  3911. ?timefmt
  3912.  This command applies to timeseries where data are composed of dates/times.
  3913.  It has no meaning unless the command `set {x,y,z}data time` is given also.
  3914.  The string argument tells `gnuplot` how to read timedata from the datafile.
  3915.  Valid conversion codes are: %d (day of month,1--31), %m (month,1--12), %y
  3916.  (year,0--99), %Y (year, 4 digits), %j (day of year,1--365), %H (hour,0--24),
  3917.  %M (minute,0--60), %S (second,0--60).  Any character is allowed in the string
  3918.  (including space), but must match exactly.  Backslash-octals (\nnn) are
  3919.  converted to char; \t (tab) is understood.  If there is no separating
  3920.  character between the date/time elements, then %d, %m, %y, %H, %M and %S read
  3921.  two digits each, %Y reads four digits and %j reads three digits.  Each column
  3922.  in the timedata counts as one column in the `using n:n` specification.
  3923.  
  3924.  Syntax:
  3925.          set timefmt "<format string>"
  3926.          show timefmt
  3927.  
  3928.  See also `set {x,y,z}data`.
  3929.  
  3930.  Example:
  3931.          set timefmt "%d/%m/%Y\t%H:%M"
  3932.  tells `gnuplot` to read date and time separated by tab.
  3933. ^ <a href=timedat/timedat.html> Time Data Demo </a>
  3934. 3 title
  3935. ?set title
  3936. ?show title
  3937. ?title
  3938.  The `set title` command produces a plot title that is centered at the top of
  3939.  the plot.  `set title` is a special case of `set label`.
  3940.  
  3941.  Syntax:
  3942.           set title {"<title-text>"} {<xoff>}{,<yoff>}
  3943.           show title
  3944.  
  3945.  Specifying constants <xoff> or <yoff> as optional offsets for the title will
  3946.  move the title <xoff> or <yoff> character screen co-ordinates (not plot
  3947.  co-ordinates).  For example,
  3948.  
  3949.           set title ,-1
  3950.  
  3951.  will change only the y offset of the title, moving the title down by
  3952.  roughly the height of one character.
  3953.  
  3954.  `set title` with no parameters clears the title.
  3955.  
  3956.  See `set syntax` for details about the processing of backslash sequences and
  3957.  the distinction between single- and double-quotes.
  3958. 3 tmargin
  3959.  The command `set tmargin` sets the size of the top margin.  Please see
  3960.  `set margins` for details.
  3961. 3 trange
  3962.  The `set trange` command sets the parametric range used to compute x and y
  3963.  values when in parametric or polar modes.  Please see `set range` for
  3964.  details.
  3965. 3 urange
  3966.  The `set urange` and `set vrange` commands set the parametric ranges used
  3967.  to compute x, y, and z values when in `splot` parametric mode.  Please see
  3968.  `set range` for details.
  3969. 3 variables
  3970. ?show variables
  3971.  The `show variables` command lists all user-defined variables and their
  3972.  values.
  3973.  
  3974.  Syntax:
  3975.          show variables
  3976. 3 view
  3977. ?set view
  3978. ?show view
  3979. ?view
  3980.  The `set view` command sets the viewing angle for `splot`s.  It controls how
  3981.  the 3-d co-ordinates of the plot are mapped into the 2-d screen space.  It
  3982.  provides controls for both rotation and scaling of the plotted data, but
  3983.  supports orthographic projections only.
  3984.  
  3985.  Syntax:
  3986.          set view <rot_x> {,{<rot_z>}{,{<scale>}{,<scale_z>}}}
  3987.          show view
  3988.  
  3989.  where <rot_x> and <rot_z> control the rotation angles (in degrees) along a
  3990.  virtual 3-d co-ordinate system aligned with the screen such that the screen
  3991.  horizontal axis is x, screen vertical axis is y, and the axis perpendicular
  3992.  to the screen is z.  <rot_x> is bounded to the [0:180] range with a default
  3993.  of 60 degrees, while <rot_z> is bounded to the [0:360] range with a default
  3994.  of 30 degrees.  <scale> controls the scaling of the entire `splot`, while
  3995.  <scale_z> scales the z axis only.  Both scales default to 1.0.
  3996.  
  3997.  Examples:
  3998.          set view 60, 30, 1, 1
  3999.          set view ,,0.5
  4000.  
  4001.  The first sets all the four default values.  The second changes only scale,
  4002.  to 0.5.
  4003.  
  4004.  See also `set ticslevel`.
  4005. 3 vrange
  4006.  The `set urange` and `set vrange` commands set the parametric ranges used
  4007.  to compute x, y, and z values when in `splot` parametric mode.  Please see
  4008.  `set range` for details.
  4009. 3 x2data
  4010.  Sets x2-axis data to timeseries (dates/times).  Please see `set xdata`.
  4011. 3 x2dtics
  4012.  The `set x2dtics` command changes tics on the x2 axis to days of the week.
  4013.  Please see `set xmtics` for details.
  4014. 3 x2label
  4015.  This command sets the label for the x2 axis.  Please see `set xlabel`.
  4016. 3 x2mtics
  4017.  The `set x2mtics` command changes tics on the x2 axis to months of the year.
  4018.  Please see `set xmtics` for details.
  4019. 3 x2range
  4020.  The `set x2range` command sets the horizontal range that will be displayed
  4021.  on the x2 (top) axis.  Please see `set range` for details.
  4022. 3 x2tics
  4023.  The `set x2tics` command controls major (labelled) tics on the x2 axis.
  4024.  Please see `set xtics` for details.
  4025. 3 x2zeroaxis
  4026.  The `set x2zeroaxis` command draws a line at x2 = 0.  For details, please see
  4027.  `set zeroaxis`.
  4028. 3 xdata
  4029. ?set xdata
  4030. ?show xdata
  4031. ?xdata
  4032.  This command sets the datatype on the x axis to date/time.  A similar command
  4033.  does the same thing for each of the other axes.
  4034.  
  4035.  Syntax:
  4036.          set xdata time
  4037.          set ydata time
  4038.          set zdata time
  4039.          set x2data time
  4040.          set y2data time
  4041.  
  4042.  To turn the x axis data back to the default:
  4043.          set xdata
  4044.  
  4045.  See `set timefmt` to tell `gnuplot` how to read date or time data.  The
  4046.  date/time is converted to seconds from start of the century.  There is
  4047.  currently only one timefmt, which implies that all the date/time columns must
  4048.  confirm to this format.  Specification of ranges should be supplied as quoted
  4049.  strings according to this format to avoid interpretation of the date/time as
  4050.  an expression.
  4051.  
  4052.  The function "strftime" (type "man strftime" on unix to look it up) is used
  4053.  to print ticmark labels.  `gnuplot` tries to figure out a reasonable format
  4054.  for this  unless the `set format x "string"` has supplied something that does
  4055.  not look like a decimal format (more than one '%' or neither %f nor %g).
  4056. 3 xdtics
  4057. ?set xdtics
  4058. ?set noxdtics
  4059. ?show xdtics
  4060. ?xdtics
  4061. ?noxdtics
  4062. ?set ydtics
  4063. ?set noydtics
  4064. ?show ydtics
  4065. ?ydtics
  4066. ?noydtics
  4067. ?set zdtics
  4068. ?set nozdtics
  4069. ?show zdtics
  4070. ?zdtics
  4071. ?nozdtics
  4072. ?set x2dtics
  4073. ?set nox2dtics
  4074. ?show x2dtics
  4075. ?x2dtics
  4076. ?nox2dtics
  4077. ?set y2dtics
  4078. ?set noy2dtics
  4079. ?show y2dtics
  4080. ?y2dtics
  4081. ?noy2dtics
  4082.  The `set xdtics` commands converts the x-axis tic marks to days of the week
  4083.  where 0=Sun and 6=Sat.  Overflows are converted modulo 7 to dates.  `set
  4084.  noxdtics` returns the labels to their default values.  Similar commands do
  4085.  the same things for the other axes.
  4086.  
  4087.  Syntax:
  4088.         set xdtics
  4089.         set ydtics
  4090.         set zdtics
  4091.         set x2dtics
  4092.         set y2dtics
  4093.         set noxdtics
  4094.         etc.
  4095.         show xdtics
  4096.         etc.
  4097.  
  4098.  See also the `set format` command.
  4099. 3 xlabel
  4100. ?set xlabel
  4101. ?show xlabel
  4102. ?xlabel
  4103. ?set ylabel
  4104. ?show ylabel
  4105. ?ylabel
  4106. ?set zlabel
  4107. ?show zlabel
  4108. ?zlabel
  4109. ?set x2label
  4110. ?show x2label
  4111. ?x2label
  4112. ?set y2label
  4113. ?show y2label
  4114. ?y2label
  4115.  The `set xlabel` command sets the x axis label.  Similar commands set labels
  4116.  on the other axes.  There is no explicit `set x2label` command---use `set
  4117.  title` (see below).
  4118.  
  4119.  Syntax:
  4120.           set xlabel {"<label>"} {<xoff>}{,<yoff>}
  4121.           set ylabel {"<label>"} {<xoff>}{,<yoff>}
  4122.           set zlabel {"<label>"} {<xoff>}{,<yoff>}
  4123.           set y2label {"<label>"} {<xoff>}{,<yoff>}
  4124.           show xlabel
  4125.           etc.
  4126.  
  4127.  Specifying the constants <xoff> or <yoff> as optional offsets for a label
  4128.  will move it <xoff> or <yoff> character screen co-ordinates.  For example,
  4129.  
  4130.           set xlabel -1
  4131.  
  4132.  will change only the x offset of the xlabel, moving the label roughly one
  4133.  character width to the left.
  4134.  
  4135.  To clear the label, put no options on the command line.  For example,
  4136.  
  4137.           set y2label
  4138.  
  4139.  The default positions of the axis labels are as follows:
  4140.  
  4141.  xlabel:  The x-axis label is centered below the bottom axis.
  4142.  
  4143.  ylabel:  The position of the y-axis label depends on the terminal, and can be
  4144.  one of the following three positions:
  4145.  
  4146.  1. Horizontal text flushed left at the top left of the plot.  Terminals that
  4147.  cannot rotate text will probably use this method.
  4148.  
  4149.  2. Vertical text centered vertically at the left of the plot.  Terminals that
  4150.  can rotate text will probably use this method.
  4151.  
  4152.  3. Horizontal text centered vertically at the left of the plot.  The EEPIC,
  4153.  LaTeX and TPIC drivers use this method.  The user must insert line breaks
  4154.  using \\ to prevent the ylabel from overwriting the plot.  To produce a
  4155.  vertical row of characters, add \\ between every printing character (but this
  4156.  is ugly).
  4157.  
  4158.  zlabel: The z-axis label is centered along the z axis and placed in the space
  4159.  above the grid level.
  4160.  
  4161.  y2label: The y2-axis label is placed to the right of the y2 axis.  The
  4162.  position is terminal-dependent in the same manner as is the y-axis label.
  4163.  
  4164.  x2label: There is no `set x2label` command.  If you want to put a label on
  4165.  the x2 axis, use the 'set title' command with new-line characters "\n", i.e.,
  4166.  
  4167.           set title "This is the title\n\nThis is the x2label"
  4168.  
  4169.  Note that double quotes must be used.
  4170.  
  4171.  Please see `set syntax` for further information about backslash processing
  4172.  and the difference between single- and double-quoted strings.
  4173. 3 xmtics
  4174. ?set xmtics
  4175. ?set noxmtics
  4176. ?show xmtics
  4177. ?xmtics
  4178. ?noxmtics
  4179. ?set ymtics
  4180. ?set noymtics
  4181. ?show ymtics
  4182. ?ymtics
  4183. ?noymtics
  4184. ?set zmtics
  4185. ?set nozmtics
  4186. ?show zmtics
  4187. ?zmtics
  4188. ?nozmtics
  4189. ?set x2mtics
  4190. ?set nox2mtics
  4191. ?show x2mtics
  4192. ?x2mtics
  4193. ?nox2mtics
  4194. ?set y2mtics
  4195. ?set noy2mtics
  4196. ?show y2mtics
  4197. ?y2mtics
  4198. ?noy2mtics
  4199.  The `set xmtics` commands converts the x-axis tic marks to months of the
  4200.  year where 1=Jan and 12=Dec.  Overflows are converted modulo 12 to months.
  4201.  The tics are returned to their default labels by `set noxmtics`.  Similar
  4202.  commands perform the same duties for the other axes.
  4203.  
  4204.  Examples:
  4205.         set xmtics
  4206.         set ymtics
  4207.         set zmtics
  4208.         set x2mtics
  4209.         set y2mtics
  4210.         set noxmtics
  4211.         etc.
  4212.         show xmtics
  4213.         etc.
  4214.  
  4215.  See also the `set format` command.
  4216. 3 xrange
  4217.  The `set xrange` command sets the horizontal range that will be displayed
  4218.  on the x axis.  Please see `set range` for details.
  4219. 3 xtics
  4220. ?set xtics
  4221. ?set noxtics
  4222. ?show xtics
  4223. ?xtics
  4224. ?noxtics
  4225. ?set ytics
  4226. ?set noytics
  4227. ?show ytics
  4228. ?ytics
  4229. ?noytics
  4230. ?set ztics
  4231. ?set noztics
  4232. ?show ztics
  4233. ?ztics
  4234. ?noztics
  4235. ?set x2tics
  4236. ?set nox2tics
  4237. ?show x2tics
  4238. ?x2tics
  4239. ?nox2tics
  4240. ?set y2tics
  4241. ?set noy2tics
  4242. ?show y2tics
  4243. ?y2tics
  4244. ?noy2tics
  4245.  Fine control of the major (labelled) tics on the x axis is possible with the
  4246.  `set xtics` command.  The tics may be turned off with the `set noxtics`
  4247.  command, and may be turned on (the default state) with `set xtics`.  Similar
  4248.  commands control the major tics on the other axes.
  4249.  
  4250.  Syntax:
  4251.           set xtics {axis | border} {{no}mirror} \
  4252.                       { {<start>, <incr>{, <end>}} |
  4253.                       {({"<label>"} <pos> {, {"<label>"} <pos>}...)} }
  4254.           set ytics (same options)
  4255.           set ztics (same options)
  4256.           set x2tics (same options)
  4257.           set y2tics (same options)
  4258.           set noxtics
  4259.           etc.
  4260.           show xtics
  4261.           etc.
  4262.  
  4263.  `axis` or `border` tells `gnuplot` to put the tics (both the tics themselves
  4264.  and the accompanying labels) along the axis or the border, respectively.
  4265.  `mirror` tells it to put unlabelled tics at the same positions on the
  4266.  opposite border.  `nomirror` does what you think it does.  The defaults are
  4267.  `border mirror` for tics on the x, y, x2, and y2 axes.  For the z axis, the
  4268.  the `{axis|border}` option is not available and the default is `nomirror`.
  4269.  If you do want to mirror the z-axis tics, you might want to create a bit more
  4270.  room for them with `set border`.
  4271.  
  4272.  The positions of the tics may be specified in either of two forms:
  4273.  
  4274.  The <start>, <incr>, <end> form specifies that a series of tics will be
  4275.  plotted on the axis between the values <start> and <end> with an increment of
  4276.  <incr>.  If <end> is not given, it is assumed to be infinity.  The increment
  4277.  may be negative.
  4278.  
  4279.  Example:
  4280.            set xtics 0,.5,10
  4281.  makes tics at 0, 0.5, 1, 1.5, ..., 9.5, 10.
  4282.  
  4283.  The ("<label>" <pos>, ...) form allows arbitrary tic positions or non-numeric
  4284.  tic labels.  A set of tics is a set of positions, each with its own optional
  4285.  label.  Note that the label is a string enclosed by quotes, and may be a
  4286.  constant string, such as "hello", or contain formatting information for the
  4287.  tic number (which is the same as the position), such as "%3f clients".  See
  4288.  `set format` for more information about this case.  The label may be made
  4289.  empty by specifying it as an empty string.  If no string is given, the
  4290.  default label (numerical) is used.  In this form, the tics do not need to be
  4291.  listed in numerical order.
  4292.  
  4293.  Examples:
  4294.           set xtics ("low" 0, "medium" 50, "high" 100)
  4295.           set xtics (1,2,4,8,16,32,64,128,256,512,1024)
  4296.           set ytics ("bottom" 0, "" 10, "top" 20)
  4297.  
  4298.  In the second example, all tics are labelled.  In the third, only the end
  4299.  tics are labelled.
  4300.  
  4301.  Tics will only be plotted when in range.
  4302.  
  4303.  Minor (unlabelled) tics can be added by the `set mxtics` command.
  4304.  
  4305.  In case of timeseries data, position values must be given as quoted dates
  4306.  or times according to the format `timefmt`.
  4307. 3 xzeroaxis
  4308.  The `set xzeroaxis` command draws a line at x = 0.  For details, please see
  4309.  `set zeroaxis`.
  4310. 3 y2data
  4311.  Sets y2-axis data to timeseries (dates/times).  Please see `set xdata`.
  4312. 3 y2dtics
  4313.  The `set y2dtics` command changes tics on the y2 axis to days of the week.
  4314.  Please see `set xmtics` for details.
  4315. 3 y2label
  4316.  This command sets the label for the y2 axis.  Please see `set xlabel`.
  4317. 3 y2mtics
  4318.  The `set y2mtics` command changes tics on the y2 axis to months of the year.
  4319.  Please see `set xmtics` for details.
  4320. 3 y2range
  4321.  The `set y2range` command sets the vertical range that will be displayed on
  4322.  the y2 axis.  Please see `set range` for details.
  4323. 3 y2tics
  4324.  The `set y2tics` command controls major (labelled) tics on the y2 axis.
  4325.  Please see `set xtics` for details.
  4326. 3 y2zeroaxis
  4327.  The `set y2zeroaxis` command draws a line at y2 = 0.  For details, please see
  4328.  `set zeroaxis`.
  4329. 3 ydata
  4330.  Sets y-axis data to timeseries (dates/times).  Please see `set xdata`.
  4331. 3 ydtics
  4332.  The `set ydtics` command changes tics on the y axis to days of the week.
  4333.  Please see `set xmtics` for details.
  4334. 3 ylabel
  4335.  This command sets the label for the y axis.  Please see `set xlabel`.
  4336. 3 ymtics
  4337.  The `set ymtics` command changes tics on the y axis to months of the year.
  4338.  Please see `set xmtics` for details.
  4339. 3 yrange
  4340.  The `set yrange` command sets the vertical range that will be displayed on
  4341.  the y axis.  Please see `set range` for details.
  4342. 3 ytics
  4343.  The `set ytics` command controls major (labelled) tics on the y axis.
  4344.  Please see `set xtics` for details.
  4345. 3 yzeroaxis
  4346.  The `set yzeroaxis` command draws a line at y = 0.  For details, please see
  4347.  `set zeroaxis`.
  4348. 3 zdata
  4349.  Set zaxis date to timeseries (dates/times).  Please see `set xdata`.
  4350. 3 zdtics
  4351.  The `set zdtics` command changes tics on the z axis to days of the week.
  4352.  Please see `set xmtics` for details.
  4353. 3 zero
  4354. ?set zero
  4355. ?show zero
  4356. ?zero
  4357.  The `zero` value is the default threshold for values approaching 0.0.
  4358.  
  4359.  Syntax:
  4360.          set zero <expression>
  4361.          show zero
  4362.  
  4363.  `gnuplot` will not plot a point if its imaginary part is greater in magnitude
  4364.  than the `zero` threshold.  Axis ranges cannot be less than `zero`.  The
  4365.  default `zero` value is 1e-8.
  4366. 3 zeroaxis
  4367. ?set zeroaxis
  4368. ?set nozeroaxis
  4369. ?show zeroaxis
  4370. ?zeroaxis
  4371. ?nozeroaxis
  4372. ?set xzeroaxis
  4373. ?set noxzeroaxis
  4374. ?show xzeroaxis
  4375. ?xzeroaxis
  4376. ?noxzeroaxis
  4377. ?set yzeroaxis
  4378. ?set noyzeroaxis
  4379. ?show yzeroaxis
  4380. ?yzeroaxis
  4381. ?noyzeroaxis
  4382. ?set x2zeroaxis
  4383. ?set nox2zeroaxis
  4384. ?show x2zeroaxis
  4385. ?x2zeroaxis
  4386. ?nox2zeroaxis
  4387. ?set y2zeroaxis
  4388. ?set noy2zeroaxis
  4389. ?show y2zeroaxis
  4390. ?y2zeroaxis
  4391. ?noy2zeroaxis
  4392.  The command `set zeroaxis` draws the x axis and y axis.  It may be removed by
  4393.  `set nozeroaxis`.  The x axis alone may be drawn by `set xzeroaxis` and
  4394.  removed by `set noxzeroaxis`.  Similar commands behave similarly for the y,
  4395.  x2, and y2 axes.
  4396.  
  4397.  Syntax:
  4398.          set zeroaxis {<linestyle>}
  4399.          set xzeroaxis {<linestyle>}
  4400.          set yzeroaxis {<linestyle>}
  4401.          set x2zeroaxis {<linestyle>}
  4402.          set y2zeroaxis {<linestyle>}
  4403.          set nozeroaxis
  4404.          set noxzeroaxis
  4405.          etc.
  4406.          show zeroaxis
  4407.          show xzeroaxis
  4408.          etc.
  4409.  
  4410.  By default, these options are off.  If <linestyle> is not specified, any
  4411.  zero axes selected will be drawn using the axis linetype.
  4412.  
  4413.  `set zeroaxis l` is equivalent to `set xzeroaxis l; set yzeroaxis l`.
  4414.  `set nozeroaxis` is equivalent to `set noxzeroaxis; set noyzeroaxis`.
  4415. 3 zlabel
  4416.  This command sets the label for the z axis.  Please see `set xlabel`.
  4417. 3 zmtics
  4418.  The `set zmtics` command changes tics on the z axis to months of the year.
  4419.  Please see `set xmtics` for details.
  4420. 3 zrange
  4421.  The `set zrange` command sets the range that will be displayed on the z axis.
  4422.  The zrange is used only by `splot` and is ignored by `plot`.  Please see `set
  4423.  range` for details.
  4424. 3 ztics
  4425. ?set ztics
  4426.  The `set ztics` command controls major (labelled) tics on the z axis.
  4427.  Please see `set xtics` for details.
  4428. 2 shell
  4429. ?shell
  4430.  The `shell` command spawns an interactive shell.  To return to `gnuplot`,
  4431.  type `logout` if using VMS, `exit` or the END-OF-FILE character if using
  4432.  Unix, `endcli` if using AmigaDOS, or `exit` if using MS-DOS or OS/2.
  4433.  
  4434.  A single shell command may be spawned by preceding it with the ! character
  4435.  ($ if using VMS) at the beginning of a command line.  Control will return
  4436.  immediately to `gnuplot` after this command is executed.  For example, in
  4437.  Unix, AmigaDOS, MS-DOS or OS/2,
  4438.  
  4439.       ! dir
  4440.  
  4441.  prints a directory listing and then returns to `gnuplot`.
  4442.  
  4443.  On an Atari, the `!` command first checks whether a shell is already loaded
  4444.  and uses it, if available.  This is practical if `gnuplot` is run from
  4445.  `gulam`, for example.
  4446. 2 splot
  4447. ?splot
  4448. ?surface plot
  4449.  Three-dimensional surface and contour plotting is available in `gnuplot` with
  4450.  the `splot` command.  See the `plot` command for features common to the
  4451.  `plot` command.
  4452.  
  4453.  See also `set contour`, `set cntrparam`, and `set surface`.
  4454. ^ <a href=surfacea/surfacea.html>Non parametric Splot Demos</a>
  4455. ^ <a href=surfaceb/surfaceb.html>Parametric Splot Demos.</a>
  4456. 2 start-up
  4457. ?startup
  4458. ?start
  4459. ?.gnuplot
  4460.  When `gnuplot` is run, it looks for an initialization file to load.  This
  4461.  file is called `.gnuplot` on Unix and AmigaDOS systems, and `GNUPLOT.INI`
  4462.  on other systems.  If this file is not found in the current directory, the
  4463.  program will look for it in the home directory (under AmigaDOS,
  4464.  Atari(single)TOS, MS-DOS and OS/2, the environment variable `gnuplot` should
  4465.  contain the name of this directory).  Note: if NOCWDRC is defined during the
  4466.  installation, `gnuplot` will not read from the current directory.
  4467.  
  4468.  If this file is found, `gnuplot` executes the commands in this file.  This
  4469.  is most useful for setting the terminal type and defining any functions or
  4470.  variables that are used often.
  4471. 2 substitution
  4472. ?substitution
  4473.  Command-line substitution is specified by a system command enclosed in
  4474.  backquotes.  This command is spawned and the output it produces replaces
  4475.  the name of the command (and backquotes) on the command line.
  4476.  
  4477.  Newlines in the output produced by the spawned command are replaced with
  4478.  blanks.
  4479.  
  4480.  Command-line substitution can be used anywhere on the `gnuplot` command
  4481.  line.
  4482.  
  4483.  Example:
  4484.  
  4485.  This will run the program `leastsq` and replace `leastsq` (including
  4486.  backquotes) on the command line with its output:
  4487.  
  4488.           f(x) = `leastsq`
  4489.  
  4490.  or, in VMS
  4491.  
  4492.           f(x) = `run leastsq`
  4493. 2 syntax
  4494. ?syntax
  4495. ?specify
  4496. ?punctuation
  4497.  The general rules of syntax and punctuation in `gnuplot` are that keywords
  4498.  and options are order-dependent.  Options and any accompanying parameters are
  4499.  separated by spaces whereas lists and co-ordinates are separated by commas.
  4500.  Ranges are separated by colons and enclosed in braces [], text and file names
  4501.  are enclosed in quotes, and a few miscellaneous things are enclosed in
  4502.  parentheses.  Brackets {} are used for a few special purposes.
  4503.  
  4504.  Commas are used to separate co-ordinates (see `set co-ordinates`); the list
  4505.  of variables being fitted (the list after the `via` keyword on the `fit`
  4506.  command); lists of discrete contours or the loop parameters which specify
  4507.  them (see `set cntrparam`); the arguments of the `set` commands `dgrid3d`,
  4508.  `dummy`, `isosamples`, `offsets`, `origin`, `samples`, `size`, `time`, and
  4509.  `view`; lists of tics or the loop parameters which specify them; the offsets
  4510.  for titles and axis labels; parametric functions to be used to calculate the
  4511.  x, y, and z co-ordinates on the `s/plot` commands; and the complete sets of
  4512.  keywords specifying individual data sets or functions on `s/plot` commands.
  4513.  
  4514.  Parentheses are used to delimit sets of explicit tics (as opposed to loop
  4515.  parameters) and to indicate computations in the `using` filter of the `fit`
  4516.  and `s/plot` commands.
  4517.  
  4518.  (Parentheses and commas are also used as usual in function notation.)
  4519.  
  4520.  Braces are used to delimit ranges, whether they are given in `set` commands
  4521.  or on `s/plot` commands.
  4522.  
  4523.  Colons are used to separate extrema in `range` specifications and to
  4524.  separate columns in the `using` filter of the `s/plot` and `fit` commands.
  4525.  
  4526.  Semicolons are used to separate commands given on a single line.
  4527.  
  4528.  Brackets are used in text to be specially processed by some terminals, like
  4529.  `enhpost`.  They are also used to denote complex numbers: {3,2} = 3 + 2i.
  4530.  
  4531.  Text may be enclosed in single- or double-quotes.  Backslash processing of
  4532.  sequences like \n (newline) is performed for double-quoted strings, but not
  4533.  for single-quoted strings.  The justification is the same for each line of a
  4534.  multi-line string.  Thus the center-justified string
  4535.  
  4536.         "This is the first line of text.\nThis is the second line."
  4537.  
  4538.  will produce
  4539.  
  4540.          This is the first line of text.
  4541.             This is the second line.
  4542.  
  4543.  but
  4544.  
  4545.         'This is the first line of text.\nThis is the second line.'
  4546.  
  4547.  will produce
  4548.  
  4549.          This is the first line of text.\nThis is the second line.
  4550.  
  4551.  Both single- and double-quoted strings process \nnn correctly.
  4552.  
  4553.  The EEPIC, Imagen, Uniplex, LaTeX, and TPIC drivers allow \\ in a string to
  4554.  specify a newline.
  4555. 2 test
  4556. ?test
  4557.  `test` creates a display of line and point styles and other useful things
  4558.  appropriate for the terminal you are using.
  4559.  
  4560.  Syntax: test
  4561. 2 update
  4562. ?update
  4563.  This command updates the start parameter assignments in a start parameter
  4564.  file as specified in the `fit` section.  Each parameter will be replaced
  4565.  by its actual value.  This is useful for restarting a converged or stopped
  4566.  fit again.
  4567.  
  4568.  Syntax:
  4569.          update <filename>
  4570.  
  4571.  See `fit`
  4572. 2 user-defined
  4573. ?userdefined
  4574. ?variables
  4575.  New user-defined variables and functions of one through five variables may
  4576.  be declared and used anywhere.
  4577.  
  4578.  User-defined function syntax:
  4579.          <function-name> ( <dummy1> {,<dummy2> {, ...} } ) = <expression>
  4580.  
  4581.  where <expression> is defined in terms of <dummy1> through <dummy5>.
  4582.  
  4583.  User-defined variable syntax:
  4584.          <variable-name> = <constant-expression>
  4585.  
  4586.  Examples:
  4587.          w = 2
  4588.          q = floor(tan(pi/2 - 0.1))
  4589.          f(x) = sin(w*x)
  4590.          sinc(x) = sin(pi*x)/(pi*x)
  4591.          delta(t) = (t == 0)
  4592.          ramp(t) = (t > 0) ? t : 0
  4593.          min(a,b) = (a < b) ? a : b
  4594.          comb(n,k) = n!/(k!*(n-k)!)
  4595.          len3d(x,y,z) = sqrt(x*x+y*y+z*z)
  4596.  
  4597.  Note that the variable `pi` is already defined.
  4598.  
  4599.  See `show functions` and `show variables`.
  4600. 2 bugs
  4601. ?bugs
  4602.  The bessel functions do not work for complex arguments.
  4603.  
  4604.  The gamma function does not work for complex arguments.
  4605.  
  4606.  There is a bug in the stdio library for old Sun operating systems (SunOS
  4607.  Sys4-3.2).  The "%g" format for 'printf' sometimes incorrectly prints numbers
  4608.  (e.g., 200000.0 as "2").  Thus, tic mark labels may be incorrect on a Sun4
  4609.  version of `gnuplot`.  A work-around is to rescale the data or use the `set
  4610.  format` command to change the tic mark format to "%7.0f" or some other
  4611.  appropriate format.  This appears to have been fixed in SunOS 4.0.
  4612.  
  4613.  Another bug: On a Sun3 under SunOS 4.0, and on Sun4's under Sys4-3.2 and
  4614.  SunOS 4.0, the 'sscanf' routine incorrectly parses "00 12" with the format
  4615.  "%f %f" and reads 0 and 0 instead of 0 and 12.  This affects data input.  If
  4616.  the data file contains x co-ordinates that are zero but are specified like
  4617.  '00', '000', etc, then you will read the wrong y values.  Check any data
  4618.  files or upgrade the SunOS.  It appears to have been fixed in SunOS 4.1.1.
  4619.  
  4620.  Suns appear to overflow when calculating exp(-x) for large x, so `gnuplot`
  4621.  gets an undefined result.  One work-around is to make a user-defined function
  4622.  like e(x) = x<-500 ? 0 : exp(x).  This affects plots of Gaussians (exp(-x*x))
  4623.  in particular, since x*x grows quite rapidly.
  4624.  
  4625.  Microsoft C 5.1 has a nasty bug associated with the %g format for printf.
  4626.  When any of the formats "%.2g", "%.1g", "%.0g", "%.g" are used, printf will
  4627.  incorrectly print numbers in the range 1e-4 to 1e-1.  Numbers that should be
  4628.  printed in the %e format are incorrectly printed in the %f format, with the
  4629.  wrong number of zeros after the decimal point.  To work around this problem,
  4630.  use the %e or %f formats explicitly.
  4631.  
  4632.  `gnuplot`, when compiled with Microsoft C, did not work correctly on two VGA
  4633.  displays that were tested.  The CGA, EGA and VGA drivers should probably be
  4634.  rewritten to use the Microsoft C graphics library.  `gnuplot` compiled with
  4635.  Borland C++ uses the Turbo C graphics drivers and does work correctly with
  4636.  VGA displays.
  4637.  
  4638.  VAX/VMS 4.7 C compiler release 2.4 also has a poorly implemented %g format
  4639.  for printf.  The numbers are printed numerically correct, but may not be in
  4640.  the requested format.  The K&R second edition says that for the %g format, %e
  4641.  is used if the exponent is less than -4 or greater than or equal to the
  4642.  precision.  The VAX uses %e format if the exponent is less than -1.  The VAX
  4643.  appears to take no notice of the precision when deciding whether to use %e or
  4644.  %f for numbers less than 1.  To work around this problem, use the %e or %f
  4645.  formats explicitly.  From the VAX C 2.4 release notes: e,E,f,F,g,G  Result
  4646.  will always contain a decimal  point.  For g and G, trailing zeros will not
  4647.  be removed from the result.
  4648.  
  4649.  VAX/VMS 5.2 C compiler release 3.0 has a slightly better implemented %g
  4650.  format than release 2.4, but not much.  Trailing decimal points are now
  4651.  removed, but trailing zeros are still not removed from %g numbers in
  4652.  exponential format.
  4653.  
  4654.  ULTRIX X11R3 has a bug that causes the X11 driver to display "every other"
  4655.  plot.  The bug seems to be fixed in DEC's release of X11R4 so newer releases
  4656.  of ULTRIX don't seem to have the problem.  Solutions for older sites include
  4657.  upgrading the X11 libraries (from DEC or direct from MIT) or defining
  4658.  ULTRIX_KLUDGE when compiling the x11.trm file.  Note that the kludge is not
  4659.  an ideal fix, however.
  4660.  
  4661.  The constant HUGE was incorrectly defined in the NeXT OS 2.0 operating
  4662.  system.  HUGE should be set to 1e38 in plot.h. This error has been corrected
  4663.  in the 2.1 version of NeXT OS.
  4664.  
  4665.  Some older models of HP plotters do not have a page eject command 'PG'.  The
  4666.  current HPGL driver uses this command in HPGL_reset.  This may need to be
  4667.  removed for these plotters.  The current PCL5 driver uses HPGL/2 for text as
  4668.  well as graphics.  This should be modified to use scalable PCL fonts.
  4669.  
  4670.  On the Atari version, it is not possible to send output directly to the
  4671.  printer (using `/dev/lp` as output file), since CRs are added to LFs in
  4672.  binary output.  As a work-around, write the output to a file and copy it to
  4673.  the printer afterwards using a shell command.
  4674.  
  4675.  There may be an up-to-date list of bugs since the release on the WWW page:
  4676.     http://www.cs.dartmouth.edu/gnuplot
  4677.  
  4678.  Please report any bugs to bug-gnuplot@dartmouth.edu.
  4679.